• hibernate简单入门教程(二)---------特性配置


    1.持久化对象的配置

    1hibernate-mapping标签配置

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

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

    2)class标签配置

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

    常用属性说明:

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

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

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

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

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

    3)property标签配置

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

    常用属性说明:

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

      column:数据库表的字段名。

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

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

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

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

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

          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,如设定为falsehibernate完成插入数据操作时,不处理该字段。

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

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

  • 相关阅读:
    jq使用手册
    MVC4 Forms 验证,部署到Hyper-v上.FormsAuthentication.SetAuthCookie无效的问题
    ASP.NET FormsAuthentication跨站点登录时绝对地址返回的问题
    FireBird.conf 常用参数说明 (FrieBird3.0.4版)
    AnkhSVN2019
    控制台程序的RedirectStandardOutput
    代替webbrowser的插件:CefSharp
    mssql分区视图
    Firebird写存储过程
    .net项目多个目标架构
  • 原文地址:https://www.cnblogs.com/blackdeng/p/7027296.html
Copyright © 2020-2023  润新知