ラベル sequence の投稿を表示しています。 すべての投稿を表示
ラベル sequence の投稿を表示しています。 すべての投稿を表示

2008年12月26日金曜日

HibernateでOracleのシーケンスを使う

Oracle でのシーケンス指定を行います。
するとHibernateでは以下のように指定します。


<id name="id" type="big_decimal">
<column name="ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">tblTree_id</param>
</generator>
</id>

Oracleで通番を設定

Oracleで指定しないで通番を指定するには


create table tbl_tree (
id number,
name varchar2(255) not null,
treeXML XMLType,
create_dt_d timestamp,
update_dt_d timestamp,
primary key ( id )
);

create sequence tblTree_id start with 1 increment by 1;

select tbltree_id.nextval from dual;


という風に「tblTree_id」のような変数を作って
指定する必要があります。

SQLではtblTree_id.nextvalみたいな設定が必要です。