zoukankan      html  css  js  c++  java
  • Hibernate 入门 特性配置

    转载自: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。(后面知识解释)

    文章未经版主同意不可任意转载,如有需要请标明文章出处。
  • 相关阅读:
    Android 获取当前系统时间
    Android下面的MD5加密
    产品管理有行业特殊性吗
    产品经理的人才模型
    什么样的人适合做产品经理
    产品经理是“通”才还是“专”才
    产品经理的职责都有哪些
    产品经理的知识结构是什么
    产品管理职位的级别都有哪些
    产品经理的职业发展路线是什么
  • 原文地址:https://www.cnblogs.com/qihangzj/p/7988043.html
Copyright © 2011-2022 走看看