<hibernate-mapping>标签
- auto-import: 在Query query = session.createQuery("from User”); 如果我们将auto-import设置为false,则User必须设置为完整的包名。默认的为true,自动导入。
- 在映射文件中,加上<hibernate-mapping package="cn.itcast.model”>, 则后面的class标签中就不需要加包名了
<class>标签
- name:对应持久化类的类名(ClassName),如果没有设置,hibernate就假定这不是一个poco类映射
- table属性:如果省略,则表明与name一致,否则这里单独设置
- dynamic-update:dynamic-update设置为true,更新操作的时候只更新变更字段。
- dynamic-insert:指定用户insert的sql语句将会在运行时动态生成,并且只包含那些非空字段
- optimistic-lock:设置乐观锁,默认是version
- lazy:默认是开启的,设置为false后,所有的延迟加载功能将被禁用
id标签
id标签必须配置在class标签的第一个位置
- name:实体类的属性名字
- type: integer,long,short,float,double,character,byte,boolean,yes_no,true_false
- column: 主键字段的名字,如果没有设置则以name为主键字段的名字
- length: 字段长度
generator标签
generator标签主要是来确定id主键的生成器的名字,根据不同的数据库或者生成策略,选用不同的生成器,也可以自己编写个性化的生成器。
- increment:用在没有其他进程往同一张表中插入数据时,没有多进程情况下
- identity:mysql数据库应用该方式,相当于auto_imcrement
- sequence: oracle数据应用该方式
- native:跨库操作时,用该方式,会自动根据方言进行设置
- assigned:用户自定义id
- foreign:用于一对一关系共享主键,两id值一样
- uuid:有hibernate生成的32位不重复字符串
property标签
- name
- column
- type
- length
- unique
- not-null