您的位置:首页 > 数据库 > Oracle

在Hibernate中使用Oracle的sequence主键

2007-05-14 14:26 302 查看
在Oracle中建立sequence,名称为pk:
create sequence pk
start with 1
increment by 1
maxvalue 2000
nocycle
cache 30;
在映射文件中修改:

<class name="com.kay.pojo.Student" table="STUDENT" schema="KAY">
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">pk</param>//pk为sequence名称
</generator>
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="50" />
</property>
</class>

测试代码:
@Test
public void testAdd() {

Student stu = new Student();
stu.setName("Bill");
boolean flag = dao.add(stu);
assertEquals(true, flag);
}

控制台输出:
Hibernate: select pk.nextval from dual
Hibernate: insert into KAY.STUDENT (NAME, ID) values (?, ?)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: