Hibernate映射文件结构

Stella981
• 阅读 609

映射文件的根元素为,其下有多个子元素,每个代表多个持久化类的映射。该有如下属性:

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:指定区分不同子类的值,当使用来定义持久化类的继承关系映射时需要使用该属性。

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。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Karen110 Karen110
3年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
sql注入
反引号是个比较特别的字符,下面记录下怎么利用0x00SQL注入反引号可利用在分隔符及注释作用,不过使用范围只于表名、数据库名、字段名、起别名这些场景,下面具体说下1)表名payload:select\from\users\whereuser\_id1limit0,1;!(https://o
Wesley13 Wesley13
3年前
JavaEE之Hibernate(开放源代码的对象关系映射框架)
Hibernate(开放源代码的对象关系映射框架)1.简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随
Stella981 Stella981
3年前
JPA、Hibernate、Spring data jpa之间的关系,终于明白了
什么么是JPA?全称JavaPersistenceAPI,可以通过注解或者XML描述【对象关系表】之间的映射关系,并将实体对象持久化到数据库中。为我们提供了:1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;如:@Entity、@Table、@C
Stella981 Stella981
3年前
JPA、Hibernate框架、通用mapper
JPA是描述对象关系表的映射关系,将运行期实体对象持久化到数据库中,提出以面向对象方式操作数据库的思想。Hibernate框架核心思想是ORM实现自动的关系映射。缺点:由于关联操作提出Hql语法。执行CRUD时产生大量冗余的sql,性能较低mybatis继承Hibernate优点,使用通用mapper插件实现JPA的思想操作数据库通用map
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Stella981 Stella981
3年前
Mybatis别名的配置使用
之前,我们在sql映射xml文件中的引用实体类时,需要写上实体类的全类名(包名类名),如下<! 创建用户(Create)   <insert id"addUser" parameterType"me.gacl.domain.User"    insert into users(name,