博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate映射文件结构
阅读量:6222 次
发布时间:2019-06-21

本文共 1266 字,大约阅读时间需要 4 分钟。

hot3.png

映射文件的根元素为<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。

转载于:https://my.oschina.net/u/3697923/blog/1612532

你可能感兴趣的文章
由String类的Split方法所遇到的两个问题
查看>>
Python3.4 12306 2015年3月验证码识别
查看>>
从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
查看>>
windows查看端口占用
查看>>
Yii用ajax实现无刷新检索更新CListView数据
查看>>
JDBC的事务
查看>>
Io流的概述
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
JS 对象机制深剖——new 运算符
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
大型网站技术架构(一)大型网站架构演化
查看>>
百度页面分享插件源代码
查看>>
《别做正常的傻瓜》的一些读书心得
查看>>
作业:实现简单的shell sed替换功能和修改haproxy配置文件
查看>>
spring配置多数据源问题
查看>>
Altium 拼板方法以及 注意的 地方
查看>>
团队编程项目作业3-模块测试过程
查看>>
UTF-8的CSV文件用Excel打开会出现乱码的解决方案
查看>>
简明Linux命令行笔记:tail
查看>>