课程
/后端开发
/Java
/Hibernate初探之单表映射
使用native的时候,在哪一步设置了id是主键,不太理解,求解答
2016-06-26
源自:Hibernate初探之单表映射 3-2
正在回答
Students.hbm.xml文件中的id标签用来设置主键,
<id name="sid" type="int">
<column name="SID" />
<generator class="assigned" />
</id>
标签中的name属性来指出与类对象对应的属性名称,id标签中没有给出column属性,则数据库表的字段名与name属性名称相同。
关系映射文件students.hbm.xml里面 <generator class="native"/>表示主键生成策略,这个标签是id的子标签,意思就是设置ID为主键,策略是native。
在执行cfg.xml中<property name="hbm2ddl.auto">create</property>创建表的时候根据关系映射文件在数据库中生成表,就是这一步在数据库的表里面设置了id是主键。
如果把<generator class="native"/>放在name或者其他标签里面,主键就是name或者其他标签。
关系映射文件students.hbm.xml里面 配置的那个cfg.xml文件里面的生成策略配置某些情况也有些影响
举报
Java持久化框架Hibernate入门教程,掌握Hibernate基本概念
2 回答主键是什么时候设置的?
1 回答对象映射文件students.hbm.xm中的主键id不能设置成native吗
5 回答在用native生成主键的时候,删除id为1的记录后再添加一条记录,这时候新记录的主键变成了2,请问有什么方法避免吗?
2 回答数据库一张表的主键关联另一张表的主键,这时候在附表的hbm.xml中id该怎么写
2 回答hibernate测试update的时候,不能修改主键?