在Hibernate中使用oracle的sequence产生主键在很多情况下,我们使用Hibernate在已经建立好数据库的基础上。在oracle中,如果已经建立好的数据库中使用了sequence,则可以按照下面的步骤把它引入到Hibernate中:
1、在oracle 首先创建sequence create sequence seq_id minvalue 1 start with 1 increment by 1 cache 20; 2.在你的hbm.xml中的配置 <id column="ID0000" name="id" type="integer"> <generator class="sequence"> <param name="sequence">seq_id</param> </generator> </id> 这样再插入数据的时候,Hibernate回自动生成如下语句: hibernate: select seq_id.nextval from dual hibernate: insert into YXJK.T_YXJK_WHRYTXL (XM0000, ZW0000, LXDH00, SJHM00, DZYJ00, IP0000, ID0000) values (?, ?, ?, ?, ?, ?, ?) 自动生成下一个序列值,然后将对象插入表中。 在使用的时候需要注意,Hibernate对于sequence的主键的要求是一定要是shor,long,或者integer |
|