1:Hibernate中持久化类的访问者有两个
2:基本数据类型和包装类型区别:
基本数据类型和包装类型对应的hibernate映射类型相同。
基本类型可直接运算、无法表达null、数字类型的默认值为0。
包装类默认值是null。当对于默认值有业务意义的时候需要使用包装类。
3:Hibernate访问持久化类属性的策略
1.propertye 默认值:表明hibernate通过getXXX和
setXXX来访问类属性。推荐使用。提高域模型透明性。
2.field:hibernate通过java反射机制直接访问类属性。对于没有
javabean方法的属性可设置该访问策略。
<property name="name" column="name" type="string"
access="field">
3 noop:它映射Java持久化类中不存在的属性,即主要用于HQL(用query接
口测试,使用hql语句)中,当数据库中有某列,而实体中不存在的情况。
<property name="name" column="name" type="string"
access="noop">
查询时忽略此属性
4:在持久化类的方法中加入程序逻辑
1 在Customer.hbm.xml文件中无需映射firstname和lastname属性,而是映射
name属性。
页面firstname和lastname,数据库name(firstname,lastname)
2 不管在类中是否存在name属性,只要在Customer.hbm.xml文件中映射了
name属性,在hql语句中就能访问他。
如果改成:
<property name=“name” column=“NAME” access=“field”>
后过如何?
运行出错
field [name] not found on cn.itcast.fuhe.Customer
5:设置派生属性
利用<property>元素的formula属性,用来设置一个sql表达式,hibernate将
根据它来计算出派生属性的值。
<property name="totalprice" formula="(select sum(o.price) from
customer o)"/>
6:控制insert、update语句
映射属性 作用
<property>
insert属性 若为false,在insert语句中不包含该字段,该字段永远
不能被插入。默认值true。
<property>
update属性 若为false,update语句不包含该字段,该字段永远不能
被更新。默认值为true。
<class>
mutable属性 若为false,等价于所有的<property>元素的update属性
为false,整个实例不能被更新。默认为true。
<class>
dynamic-insert属性 若为true,等价于所有的<property>元素的insert为
true,保存一个对象时,动态生成insert语句,语句中仅包含取值不为null的字段。
默认false。
<class>(先查询)
dynamic-update属性 若为true,等价于所有的<property>元素的update为
true,更新一个对象时,动态生成update语句,语句中仅包含取值不为null的字段。
默认false。
7:处理sql引用表示符
如果数据库表名或列名包含特殊字符,可以使用引用表示符(键盘~下面的字
符)。
<property name="des" column="`customer des`“type="text"/>
8:设置类的包名
可以设置<hibernate-mapping>元素的package属性,避免为每个类提供完整
的类名。
<hibernate-mapping package="cn.yue.domain">
分享到:
相关推荐
Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...
《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...
经典资料+个人心得,希望大家能喜欢
hibernate 学习笔记精要hibernate 学习笔记精要hibernate 学习笔记精要hibernate 学习笔记精要
在本篇《Hibernate学习笔记》中,我们将深入探讨Hibernate这一流行的Java对象关系映射(ORM)框架。Hibernate允许开发者以面向对象的方式处理数据库操作,极大地简化了数据存取的复杂性。以下是一些关键知识点: 1....
这套笔记是我学习Hibernate,进行相关技术点训练时记录下来的,其中包括技术点说明与相关事例,拿出来与大家分享。
【Java相关课程系列笔记之十四Hibernate学习笔记】 Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。本笔记将详细阐述Hibernate的核心概念、使用方法和特性。 一、...
《Hibernate学习笔记——马士兵教程解析》 在Java开发领域,ORM(Object-Relational Mapping)框架的使用已经非常普遍,其中Hibernate作为一款优秀的ORM框架,因其强大的功能和易用性深受开发者喜爱。本文将根据马...
在深入探讨Hibernate学习笔记第二天的源码之前,我们先来理解一下Hibernate的核心概念。Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作转化为对象模型,大大简化了数据访问层的开发...
**Hibernate学习笔记与总结** Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了一种在关系数据库上操作对象数据的便捷方式。本文将深入探讨Hibernate的核心概念、配置、实体类、映射文件、...
hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置实体规则,核心API详解(Configuration,sessionFactory,session,Transaction),hibernate中的对象状态以及刷新能缓存机制 ...
传智播客 汤阳光 Hibernate 学习笔记,非常详细的hibernate学习资料!
Hibernate是一款强大的Java持久...通过阅读这份“Hibernate API帮助文档”和“Hibernate学习笔记”,你将能够深入理解Hibernate的工作原理,掌握其API的使用,并能在实际项目中有效地利用Hibernate进行数据持久化操作。
### Hibernate 学习笔记知识点概览 #### 一、Hibernate 概述 - **定义**:Hibernate 是一款开源的对象关系映射(ORM)框架,它实现了将 Java 应用程序中的对象模型映射到关系型数据库中的记录。通过 ORM 技术,...
**hibernate学习笔记第四天源码解析** 在hibernate学习的过程中,第四天通常会深入探讨实体类、映射文件、配置文件以及查询语言等方面的内容。这些是hibernate框架的基础,也是开发者掌握持久化操作的关键。让我们...