码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate 入门 特性配置

时间:2017-12-05 17:37:30      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:sel   日期格   upd   java类   for   了解   logs   app   between   

转载自:http://www.cnblogs.com/blackdeng/p/7027296.html

1.持久化对象的配置

 

1)hibernate-mapping标签配置

根标签,可以包含class子标签

Package  一个映射文件可以包含多个class子标签,如果这些子标签定义的java类都位于同java包下,可以设置package属性,可以避免每个类提供全限定名

 

2)class标签配置

 

  class :用于配置持久化类与数据表关系的标签,子元素为持久化对象属性与数据库字段的关系映射。

常用属性说明:

 

  mutable:是否可变,true/false,默认true。如设定为false,则无法完成数据修改功能。

 

  dynamic-insert:是否动态插入,true/false,默认false,如设定为true,hibernate在插入数据时,首先检测内存对象(new出的对象在内存中存在),过滤为空的属性,生成的sql语句不包含为空的字段。

 

  dynamic-update:是否动态修改,true/false,默认false,如设定为true,hibernate在更新数据时,指定用于 UPDATE 的 SQL 将会在运行时动态生成,并且只更新那些改变过的字段。

作用:优化sql语句,些微提升sql效率

 

  lazy:是否延迟加载,true/false,默认true。(在hibernate数据检索章节详解)

 

3)property标签配置

  property:用于配置持久化类属性与数据表字段的映射关系标签。

常用属性说明:

 

  name:持久化类的属性名称。

 

  column:数据库表的字段名。

 

  type :字段类型。type包含两种数据类型:

    Java数据类型:与持久化类属性类型一致,必须是完整类路径。

 

    hibernate数据类型:hibernate封装了自己的数据类型与java数据类型对应,同时也扩展了部分数据类型。

 

  access:属性访问方式,有三种配置方式,Hibernate访问持久化类属性的策略

    property默认值:表明hibernate通过getXXX和setXXX来访问类属性。推荐使用。

      field:hibernate通过java反射机制直接访问类属性。对于没有javabean方法的属性可设置该访问策略。(<property name=”name” column=”name” access=”field”>)

      noop(了解):它映射Java持久化类中不存在的属性,即主要用于HQL(用query接口测试,使用hql语句)中,当数据库中有某列,而实体中不存在的情况。

 

  formula:用来设置一个sql表达式,hibernate将根据它来计算出派生属性的值。用来设置一个sql表达式,hibernate将根据它来计算出派生属性的值。派生属性:数据库表中不包含此字段,但因为业务逻辑需要,持久化对象需要的额外字段,例如数据库中保存的是日期格式的出生日期,但需要获取的是年龄。

  <property name="age" formula="(select months_between(sysdate,birthday)/12 from dual)">

 

  insert:是否可插入,true/false,默认true,如设定为false,hibernate完成插入数据操作时,不处理该字段。

  update:是否可修改,true/false,默认true,如设定为false,hibernate完成数据更新操作时,不处理该字段。

  lazy:是否延迟加载,true/false,默认true。(后面知识解释)

 

Hibernate 入门 特性配置

标签:sel   日期格   upd   java类   for   了解   logs   app   between   

原文地址:http://www.cnblogs.com/qihangzj/p/7988043.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!