美文网首页
hibernate映射文件

hibernate映射文件

作者: 墨线宝 | 来源:发表于2021-03-23 10:55 被阅读0次

原文链接https://zhhll.icu/2020/%E6%A1%86%E6%9E%B6/hibernate/hibernate%E6%98%A0%E5%B0%84%E6%96%87%E4%BB%B6/

hibernate映射文件

配置访问持久化类属性的策略

可以在property元素中配置access属性来指定hibernate访问持久化类属性的方式

  • property 默认值,使用getter/setter方法来访问类的属性,不需要管有没有该成员变量

  • field 使用java的反射机制来直接访问类的属性

<property name="customerName" type="java.lang.String" access="property">
            <column name="customer_name"/>
 </property>

设置派生属性

有些属性的值需要在运行时进行计算才可以获取到,此时可以使用property元素的formula属性,该属性用来设置一个SQL表达式,hibernate根据SQL来计算出派生属性的值

<property name="totalPrice" formula="(select sum(price) from orders where custom_id=id)"></property>

在查询的时候就会进行拼接子查询来获取该属性的值

select id,name,(select sum(price) from orders where custom_id=1) from customer where id = 1;

控制字段的插入和更新

hibernate生成的save()、update()语句默认是插入和更新全部的字段,可以进行自定义设置

  • property元素的insert属性 默认为true,如果设置为false,表示insert语句中不包含该字段
  • property元素的update属性 默认为true,如果设置为false,表示update语句中不包含该字段
  • class元素的mutable属性 默认为true,如果设置为false,等价于该类下所有的property元素的update属性为false,整个实例都不可以被更新
  • class属性的dynamic-insert属性 默认为false,如果为true,表示当保存一个对象时,会动态的生成insert语句,仅包含取值不为null的字段
  • class属性的dynamic-update属性 默认为false,如果为true,表示当更新一个对象时,会动态的生成update语句,仅包含需要更新的字段

注意:当表的字段比较多时,可以设置dynamic-insert、dynamic-update来提升性能

由于本身的博客百度没有收录,博客地址http://zhhll.icu

相关文章

  • Heibernate学习

    Heibernate学习 Hibernate 映射类型 映射类型 当你准备一个 Hibernate 映射文件时,我...

  • Hibernate学习笔记

    本节重点:1、hibernate映射文件2、hibernate核心配置文件3、hibernate核心类 1、hib...

  • Hibernate-hbm

    hibernate映射文件代码模板 例子

  • Hibernate映射文件

    名称:Example.hbm.xml

  • hibernate映射文件

    原文链接https://zhhll.icu/2020/%E6%A1%86%E6%9E%B6/hibernate/h...

  • Hibernate学习(配置文件详解)

    Hibernate映射配置文件(重点) 映射配置文件名称和位置没有固定要求 映射配置文件中,标签name属性值写实...

  • Hibernate--配置文件详解--API

    一 Hibernate映射配置文件1 映射配置文件名称和位置没有固定要求2 映射配置文件中,标签name属性写实体...

  • 错误分析

    错误一 该Person在hibernate的映射文件中没有找到。1、在hibernate的配置文件中国没有加载相应...

  • Hibernate-Annotation

    课程地址 使用hibernate注解的目的 为了简化ORM映射文件(*.hbm)繁琐的配置。注解需要做的是映射文件...

  • hibernate的映射文件

    1)Customer Order(一对多) 一个用户对应多个订单。(1)主表:Customer要配置: (2)从...

网友评论

      本文标题:hibernate映射文件

      本文链接:https://www.haomeiwen.com/subject/urzxhltx.html