1 Java应用程序不能访问private类型的getXXX()、setXXX(),而Hibernate则没有这个限制。
2 如果持久化类的属性是基本数据类型,则无法接收null值。
3 <property>的access属性用于指定Hibernate访问持久化类的属性的方式。
property(默认)表示通过getXXX()和setXXX()访问属性。
field表示通过反射机制访问属性。
4 派生属性:利用<property>的formula属性,设置一个SQL表达式。
<proper name="totalPrice"
formula="(select sum(o.PRICE) from ORDERS o where o.CUSTOMER_ID=ID)" />
<=>
select ID,NAME,SEX,
(select sum(o.PRICE) from ORDERS o where o.CUSTOMER_ID=1) from CUSTOMERS;
5 Hibernate在初始化阶段,会根据映射文件的配置信息为所有持久化类预定义SQL语句。
insert语句
insert into ORDERS(ID,ORDER_NUMBER,PRICE,CUSTOMER_ID) values(?,?,?,?)
update语句
update ORDERS set ORDER_NUMBER=?,PRICE=?,CUSTOMER_ID=? where ID=?
delete语句
delete from ORDERS where ID=?
通过OID加载实体类
select ID,ORDER_NUMBER,PRICE,CUSTOMER_ID from ORDERS where ID=?
预定义SQL存放在SessionFactory的内置缓存中,当执行Session的save()、update()、delete()、load()、get()方法时,将从缓存中找到相应的预定义SQL,再把具体的值绑定到该SQL中。
HQL或QBC查询对应的select语句在执行时才动态生成。
分享到:
相关推荐
### hibernate生成实体类 #### 简介 在软件开发过程中,ORM(对象关系映射)技术被广泛应用于数据库操作之中,它能够将数据库表结构与程序中的对象进行映射,极大地简化了数据访问层的编码工作。Hibernate作为一款...
"自动生成 Hibernate 映射文件和实体类" 自动生成 Hibernate 映射文件和实体类是使用 MyEclipse 工具来实现的,这可以大大提高开发效率,减少开发时间。下面将详细介绍如何使用 MyEclipse 自动生成 Hibernate 映射...
### MyEclipse自动生成Hibernate实体类配置文件 #### 一、引言 在软件开发过程中,ORM(对象关系映射)技术是连接数据库与应用程序的重要桥梁。Hibernate作为一款优秀的ORM框架,极大地简化了数据访问层的开发工作...
MyEclipse与Hibernate反向生成实体类和DAO MyEclipse是一个基于Eclipse平台的集成开发环境(IDE),它提供了很多实用的功能和插件来帮助开发者快速开发Java应用程序。Hibernate是一个流行的对象关系映射(ORM)框架...
此属性用于指定 Hibernate 访问实体类属性的方式,默认为通过 getter 和 setter 方法(property)。可以选择字段访问(field),这种方式会直接操作实体类的字段,而不需要调用 getter 和 setter 方法。 #### 2. ...
除了自动生成实体类,Hibernate Tools还支持生成DAO(数据访问对象)和Service层代码,帮助构建完整的三层架构。此外,它还可以生成HQL(Hibernate查询语言)和SQL语句,提高开发效率。 总的来说,“生成实体类 ...
### Eclipse Hibernate 反向生成带注解的实体类——步骤详解 #### 一、创建数据库管理器 在开始之前,我们需要确保已经安装了Eclipse IDE,并且具备基本的数据库操作能力。下面详细介绍如何在Eclipse中创建数据库...
SSH2框架,全称为Struts2、Hibernate和Spring的整合,是一个流行的Java Web开发框架,其中Hibernate是用于处理数据库操作的核心组件,而实体类映射就是Hibernate中的关键概念。 在“注解框架实体类映射”中,我们...
在Hibernate中,一对一关联表示两个实体类之间存在唯一的对应关系。这可以通过`@OneToOne`注解实现,可配置`mappedBy`属性来指定关联的反向字段。例如: ```java @Entity public class User { @OneToOne(mappedBy ...
在这个主题“hibernate操纵实体对象”中,我们将探讨如何使用Hibernate来创建、更新、删除和查询数据库中的实体对象。 首先,`HibernateSessionFactory`是Hibernate的核心组件之一,它负责创建`Session`对象。`...
数据库反向生成实体类是软件开发中的一个常见实践,特别是在使用ORM(对象关系映射)框架如Hibernate时。这个过程主要是将数据库结构转化为代码,自动创建对应的Java实体类,这样可以减少手动编写这些类的工作量,...
本教程将深入讲解如何根据数据库表自动生成实体类、Hibernate配置文件以及实体映射文件。 首先,我们需要了解Hibernate的基本概念。Hibernate提供了一个在Java应用中使用的持久化模型,它允许开发者用面向对象的...
1. 创建实体类:实体类代表数据库中的表,每个实体类对应一张表,使用@Entity注解标识。 2. 属性映射:使用@Id注解标记主键,@Column注解映射字段,还可以使用@ManyToOne、@OneToMany等注解处理关联关系。 三、...
1. **配置Hibernate**: 配置Hibernate的主配置文件(hibernate.cfg.xml),包括数据库连接信息、实体类映射文件等。 2. **实体类定义**: 定义Java Bean类,这些类代表数据库中的表,通过注解或XML文件进行ORM映射。 ...
6. 配置生成实体类的选项,例如字段命名策略、访问类型(字段或getter/setter)等。 7. 确认设置无误后,点击“Finish”,Eclipse将自动生成对应的实体类文件。 生成的实体类会包含数据库表的字段作为属性,并提供...
在Hibernate框架中,实体类的实例通常对应数据库中的表记录。实体类的对象在没有被访问时,如果配置成懒加载,Hibernate不会立即从数据库加载数据,而是会创建一个代理类的实例。这个代理类负责在访问实体属性或方法...
反向工程是Hibernate的一个特性,它可以从现有的数据库表结构自动生成对应的Java实体类、持久化映射文件(HBM XML或注解形式)以及CRUD操作的基本DAO(数据访问对象)类。这大大减少了手动编写这些类的工作量,让...
描述进一步细化了工具的特点,指出它不仅适用于Hibernate,还可能包含其他ORM框架或数据访问技术。"as script"可能意味着工具也支持生成SQL脚本,帮助用户快速创建或更新数据库结构。此外,它强调支持C#语言,这意味...
综上所述,《Hibernate实体层设计》涵盖了Hibernate的基础概念、实体类设计、查询方式以及性能优化等多个方面,旨在帮助开发者掌握高效且实用的Hibernate实体层设计方案,实现高效的企业级应用开发。通过深入学习和...
1. **实体管理**:Hibernate的核心是实体管理,它将Java对象与数据库表进行映射。开发者通过注解或XML配置来定义这些映射。例如,`@Entity` 注解用于标记一个类为数据库中的表,`@Table` 定义对应的表名,`@Id` 表示...