Hibernate映射文件结构
2018-01-24 00:00
197 查看
映射文件的根元素为<hibernate-mapping>,其下有多个<class>子元素,每个<class>代表多个持久化类的映射。该<hibernate-mapping>有如下属性:
1)schema:指定所映射的数据库Schema名,如果指定了该属性,则表名会自动添加该Schema前缀。
2)catalog:指定所映射的数据库的Catalog名,如果指定了该属性,则表名会自动添加该Catalog前缀。
3)defalut-cascade:设置Hibernate默认的级联风格,该 属性的默认值为none。当配置Java属性映射和集合映射时,还可以指定cascade属性,用于覆盖默认的级联风格。
4)defalut-access:指定Hibernate默认的属性访问策略,默认值为property,即使用getter/setter方法来访问属性,如果指定为access="field",则Hibernate会忽略getter/setter方法对,而是直接通过反射来访问成员变量。
5)defalut-lazy:设置Hibernate默认的延迟加载策略,该属性值默认为true,即启用延迟加载策略;通常情况该属性关闭,当一个表关联其他表时,加载该表时会将其他关联对象加载,消耗性能。
6)auto-import:设置是否允许在查询语言中使用非全限定的类名,默认为true;如果同一份映射文件中有两个持久化类映射时,它们的类名一样,只是全限定名不同,则应该使auto-import="false",然后写出该类的全限定类名。
7)package:该属性指定一个包前缀,对于映射文件中没有指定全限定的类名,则默认使用该包前缀。
8)table:指定该持久化类映射的表名,Hibernate默认以持久化类的类名作为表名。
9)discriminator-value:指定区分不同子类的值,当使用<subclass>来定义持久化类的继承关系映射时需要使用该属性。
10)mutable:用于指定持久化类的实列是可变对象还是不可变对象,该属性只接受true和false,默认为true。
11)proxy:指定一个接口,在延迟装载时作为代理使用,也可以在这里指定该类自己的名字。
12)dynamic-update:指定Hibernate的update语句是否在运行时动态生成,并且只更新那些变过的字段。默认是false,若开启将导致更多时间来生成SQL语句。
13)dynamic-insert:指定Hibernate的insert语句是否在运行时动态生成,并且只更新那些变过的字段。默认是false,若开启将导致更多时间来生成SQL语句。
14)where:指定一个附加的SQL语句中的过滤条件,只要在加载该持久化对象时都为新增该where条件。
15)bathc-size:指定根据标识符来抓取实列时每批抓取的实列数。默认值为1。
1)schema:指定所映射的数据库Schema名,如果指定了该属性,则表名会自动添加该Schema前缀。
2)catalog:指定所映射的数据库的Catalog名,如果指定了该属性,则表名会自动添加该Catalog前缀。
3)defalut-cascade:设置Hibernate默认的级联风格,该 属性的默认值为none。当配置Java属性映射和集合映射时,还可以指定cascade属性,用于覆盖默认的级联风格。
4)defalut-access:指定Hibernate默认的属性访问策略,默认值为property,即使用getter/setter方法来访问属性,如果指定为access="field",则Hibernate会忽略getter/setter方法对,而是直接通过反射来访问成员变量。
5)defalut-lazy:设置Hibernate默认的延迟加载策略,该属性值默认为true,即启用延迟加载策略;通常情况该属性关闭,当一个表关联其他表时,加载该表时会将其他关联对象加载,消耗性能。
6)auto-import:设置是否允许在查询语言中使用非全限定的类名,默认为true;如果同一份映射文件中有两个持久化类映射时,它们的类名一样,只是全限定名不同,则应该使auto-import="false",然后写出该类的全限定类名。
7)package:该属性指定一个包前缀,对于映射文件中没有指定全限定的类名,则默认使用该包前缀。
8)table:指定该持久化类映射的表名,Hibernate默认以持久化类的类名作为表名。
9)discriminator-value:指定区分不同子类的值,当使用<subclass>来定义持久化类的继承关系映射时需要使用该属性。
10)mutable:用于指定持久化类的实列是可变对象还是不可变对象,该属性只接受true和false,默认为true。
11)proxy:指定一个接口,在延迟装载时作为代理使用,也可以在这里指定该类自己的名字。
12)dynamic-update:指定Hibernate的update语句是否在运行时动态生成,并且只更新那些变过的字段。默认是false,若开启将导致更多时间来生成SQL语句。
13)dynamic-insert:指定Hibernate的insert语句是否在运行时动态生成,并且只更新那些变过的字段。默认是false,若开启将导致更多时间来生成SQL语句。
14)where:指定一个附加的SQL语句中的过滤条件,只要在加载该持久化对象时都为新增该where条件。
15)bathc-size:指定根据标识符来抓取实列时每批抓取的实列数。默认值为1。
相关文章推荐
- xxx.hbm.xml中property必须与对应的实体类一致吗?
- SSH-hibernate的映射配置文件
- hibernate中的映射文件xxx.hbm.xml详解总结
- myeclipse自动生成hibernate映射文件的过程
- hibernate中表的复合主键映射表
- hibernate的一对多双向关联映射----客户和订单关系
- hibernate的简单配置实例
- Mac上的远程控制软件——TeamViewer
- dubbo spring 不同的环境配置多个配置文件
- Spark机器学习下集
- POI 生成表格通用方法
- windows远程桌面无法粘贴复制的问题解决方法
- 漫谈TCP
- HTTP报文格式
- Java 并发容器和框架--ConcurrentLinkedQueue
- 阿里云CentOS 7.4 配置Nginx、PHP、Mariadb
- C#网络编程系列文章(一)之Socket实现异步TCPserver
- 求助帖 小程序 NFC问题
- C# 字节转换
- django-8,写高复用的app