使用native的时候,在哪一步设置了id是主键,不太理解,求解答
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文件里面的生成策略配置某些情况也有些影响