Hibernate设置派生属性(formula)】的更多相关文章

一.Customer中包含的字段: private static final long serialVersionUID = 1L;    private Integer id;    private String sex;    private double salary;    private Double comm;    private String birth;    private Double total;    private String desc; 二.Hibernate配置…
在持久化类中,有些属性在表中没有对应的字段,可以在映射文件中设置派生属性. 比如在一个订单中有多个商品的价格,但没有计算总的价格,可以在持久化类中增添一个统计总价格的属性,在映射文件中配置一些信息. <property name="totalPrice" formula="(select sum(o.price) from order o where o.c_id=id)"/> 在查询时,读取持久化类的对象,通过getXXX()方法就可获得查询的值.…
一.hibernate访问持久化类属性的策略: 在<property>元素中的access属性用于指定Hibernate访问持久化类属性的方式. 常见的方式如下: 1.property:默认值.hibernate通过相应的getXXX()和setXXX()方法. 2.field:hibernate运用反射机制直接访问类的属性. 3.自定义方式:自己写一个实现org.hibernate.property.PropertyAccessor接口的类,在access属性中写类的全限定名. 举例: &l…
Hibernate充当应用程序和数据库之间的中间件,实现二者之间的交互操作,他对JDBC进行了封装,以完全面向对象的方式来操作数据. 适用于有多个数据源的情况下,不必去考虑不同数据源的操作差异. Hibernate将类型对象与数据库表建立映射关系,把类的属性映射称为数据库表的字段,Hibernate属性映射可分为简单属性映射.集合属性 映射.复合属性映射及派生属性映射.下面分别以实例介绍这几个映射及其对应的映射文件表示方式. 1.简单属性 假设有个User类,对应数据库中的User表 User类…
首先,要想使用数据库中配置的默认值就必须不让hibernate覆盖了默认值,需要配置property insert="false" update="false",告诉hibernate不对该属性执行insert.update操作,这要就不会覆盖我们在数据库中配置的默认值了.除此之外,我们还需要配置hibernate对该表的操作,dynamic-insert="true" dynamic-update="true", 实现动态的…
Hibernate集合映射中,经常会使用到"inverse"和"cascade"这两个属性.对于我这样,Hibernate接触不深和语文水平够烂的种种因素,发现这两个属性实在是难以理解,无奈只好将这个两个属性解释工作交给了Google和Baidu,查看了许多牛人的解释,加上自己在Eclipse上的调试,对"inverse"和"cascade"这两个属性有了一定的见解. "inverse"属性探究 "…
本文讲述Hibernate的generator属性的意义.Generator属性有7种class,本文简略描述了这7种class的意义和用法. <class name="onlyfun.caterpillar.User" table="USER"> <id name="id" type="string" unsaved-value="null"> <column name=&q…
Hibernate能在各种不同环境下工作而设计的, 因此存在着大量的配置参数.多数配置参数都 有比较直观的默认值, 并有随 Hibernate一同分发的配置样例hibernate.properties 来展示各种配置选项. 所需做的仅仅是将这个样例文件复制到类路径 (classpath)下并做一些自定义的修改. 属性1.Hibernate JDBC属性 属性名 用途 hibernate.connection.driver_class jdbc驱动类 hibernate.connection.ur…
先说一段废话吧,本打算每天把所学的知识总结为博客的,但是昨天为什么没有写呢?没有学习吗?No,那是为什么?贪玩,对,这位同学说对了,老实说昨天感觉身体不怎么舒服,大家都知道,这其实就是为自己懒找借口,好吧,废话先唠到这儿,下面进入正题. 先说说概念吧 在持久化类中,有时会使用到值类型的对象属性,所谓值类型的对象,是指它对应的类没有对象标识符属性,也就是我们在前面所说的OID,只能作为一个持久化类的属性使用.如果持久化类中一个值类型的集合,那么就需要一张额外的数据库表来保存这个值类型集合的数据,这…
JDBC 数据库连接使用数据库系统默认的隔离级别. 在 Hibernate 的配置文件中可以显式的设置隔离级别. 每一个隔离级别都对应一个整数: 1. READ UNCOMMITED2. READ COMMITED4. REPEATABLE READ8. SERIALIZEABLE Hibernate 通过为 Hibernate 映射文件指定 hibernate.connection.isolation 属性来设置事务的隔离级别…