- 浏览: 197552 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wentry:
java中字符带有斜杠时,比如\\x00\\x00\\x00\ ...
java中调用js脚本 -
chenzheng8975:
...
ajax -
蓝色飞扬:
有用,也碰到这个问题了,多谢!
java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion -
刘宇斌:
一篇不错的讲解Java异常的文章(转载)----感觉很不错,读了以后很有启发 -
moxiaomomo:
同样的疑问啊...对tomcat缓存仍然一知半解...
tomcat 缓存
本文的主要内容如下:
详细解释了下面9个批注的含义及其批注所包含的属性:
@MapKey
@MappedSuperclass
@NamedNativeQueries
@NamedNativeQuery
@NamedQueries
@NamedQuery
@OneToMany
@OneToOne
@OrderBy
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
@MapKey
默认情况下,JPA 持续性提供程序假设关联实体的主键为 java.util.Map 类型的关联的 Map 键:
如果主键是批注为 @Id 的非复合主键,则该字段或属性的类型实例将用作 Map 键。
如果主键是批注为 @IdClass 的复合主键,则主键类的实例将用作 Map 键。
使用 @MapKey 批注:
● 将某个其他字段或属性指定为 Map 键(如果关联实体的主键不适合于应用程序)
● 指定一个嵌入的复合主键类(请参阅 @EmbeddedId)
● 指定的字段或属性必须具有唯一约束(请参阅 @UniqueConstraint)。
表 1-24 列出了此批注的属性。有关更多详细信息,请参阅 API。
表 1-24 @MapKey 属性
name |
|
默认值:默认情况下,JPA 持续性提供程序将关联实体的主键作为 Map 键,以用于映射到非复合主键或复合主键(批注为 @IdClass)的 java.util.Map 的属性或字段。 如果要将某个其他字段或属性用作 Map 键,请将 name 设置为要使用的关联实体的 String 字段或属性名。 |
在示例 1-52 中,Project 对作为 Map 的 Employee 实例拥有一对多关系。示例 1-52 显示了如何使用 @MapKey 批注指定此 Map 的键为 Employee 字段 empPK,它是一个类型为 EmployeePK(请参阅示例 1-52)的嵌入式复合主键(请参阅示例 1-51)。
示例 1-50 使用 @MapKey 的 Project 实体
@Entity
public class Project {
...
@OneToMany(mappedBy="project")
@MapKey(name="empPK")
public Map<EmployeePK, Employee> getEmployees() {
...
}
...
}
示例 1-51 Employee 实体
@Entity
public class Employee {
@EmbeddedId
public EmployeePK getEmpPK() {
...
}
...
@ManyToOne
@JoinColumn(name="proj_id")
public Project getProject() {
...
}
...
}
示例 1-52 EmployeePK 复合主键类
@Embeddable
public class EmployeePK {
String name;
Date birthDate;
}
@MappedSuperclass
默认情况下,JPA 持续性提供程序假设实体的所有持久字段均在该实体中定义。
使用 @MappedSuperclass 批注指定一个实体类从中继承持久字段的超类。当多个实体类共享通用的持久字段或属性时,这将是一个方便的模式。
您可以像对实体那样使用任何直接和关系映射批注(如 @Basic 和 @ManyToMany)对该超类的字段和属性进行批注,但由于没有针对该超类本身的表存在,因此这些映射只适用于它的子类。继承的持久字段或属性属于子类的表。
可以在子类中使用 @AttributeOverride 或 @AssociationOverride 批注来覆盖超类的映射配置。
该批注没有属性。有关更多详细信息,请参阅 API。
示例 1-53 显示了如何使用此批注将 Employee 指定为映射超类。示例 1-54 显示了如何扩展实体中的此超类,以及如何在实体类中使用 @AttributeOverride 以覆盖超类中设置的配置。
示例 1-53 @MappedSuperclass
@MappedSuperclass
public class Employee {
@Id
protected Integer empId;
@Version
protected Integer version;
@ManyToOne
@JoinColumn(name="ADDR")
protected Address address;
public Integer getEmpId() {
...
}
public void setEmpId(Integer id) {
...
}
public Address getAddress() {
...
}
public void setAddress(Address addr) {
...
}
}
示例 1-54 扩展 @MappedSuperclass
@Entity
@AttributeOverride(name="address", column=@Column(name="ADDR_ID"))
public class PartTimeEmployee extends Employee {
@Column(name="WAGE")
protected Float hourlyWage;
public PartTimeEmployee() {
...
}
public Float getHourlyWage() {
...
}
public void setHourlyWage(Float wage) {
...
}
}
@NamedNativeQueries
如果需要指定多个 @NamedNativeQuery,则必须使用一个 @NamedNativeQueries 批注指定所有命名查询。
表 1-25 列出了此批注的属性。有关更多详细信息,请参阅 API。
表 1-25 @NamedNativeQueries 属性
value |
|
要指定两个或更多属性覆盖,请将 value 设置为 NamedNativeQuery 实例数组(请参阅 @NamedNativeQuery)。 |
示例 1-55 显示了如何使用此批注指定两个命名原生查询。
示例 1-55 @NamedNativeQueries
@Entity
@NamedNativeQueries({
@NamedNativeQuery(
name="findAllPartTimeEmployees",
query="SELECT * FROM EMPLOYEE WHERE PRT_TIME=1"
),
@NamedNativeQuery(
name="findAllSeasonalEmployees",
query="SELECT * FROM EMPLOYEE WHERE SEASON=1"
)
})
public class PartTimeEmployee extends Employee {
...
}
@NamedNativeQuery
在使用 JPA 持续性提供程序的应用程序中,可以使用实体管理器动态创建和执行查询,也可以预定义查询并在运行时按名称执行。
使用 @NamedNativeQuery 批注创建与 @Entity 或 @MappedSuperclass 关联的预定义查询,这些查询:
● 使用基础数据库的原生 SQL
● 经常被使用
● 比较复杂并且难于创建
● 可以在不同实体之间共享
● 返回实体、标量值或两者的组合(另请参阅 @ColumnResult、@EntityResult、@FieldResult 和@SqlResultSetMapping)
如果有多个要定义的 @NamedNativeQuery,则必须使用 @NamedNativeQueries。
要预定义适合于任何数据库的可移植查询,请参阅 @NamedQuery。
表 1-26 列出了此批注的属性。有关更多详细信息,请参阅 API。
表 1-26 @NamedNativeQuery 属性
query |
|
要指定查询,请将 query 设置为 SQL 查询(作为 String)。 有关原生 SQL 查询语言的详细信息,请参阅数据库文档。 |
hints |
|
默认值:空 QueryHint 数组。 默认情况下,JPA 持续性提供程序假设 SQL 查询应完全按照 query 属性提供的方式执行。 要微调查询的执行,可以选择将 hints 设置为一个 QueryHint 数组(请参阅 @QueryHint)。在执行时,EntityManager 将向基础数据库传递提示。 |
name |
|
要指定查询名称,请将 name 设置为所需的 String 名称。 这是您在运行时调用查询所使用的名称(请参阅示例 1-56)。 |
resultClass |
|
默认值:JPA 持续性提供程序假设结果类是关联实体的 Class。 要指定结果类,请将 resultClass 设置为所需的 Class。 |
resultSetMapping |
|
默认值:JPA 持续性提供程序假设原生 SQL 查询中的 SELECT 语句:返回一个类型的实体;包括与返回的实体的所有字段或属性相对应的所有列;并使用与字段或属性名称(未使用 AS 语句)相对应的列名。 要控制 JPA 持续性提供程序如何将 JDBC 结果集映射到实体字段或属性以及标量,请通过将 resultSetMapping 设置为所需的 @SqlResultSetMapping 的 String 名称来指定结果集映射。 |
示例 1-56 显示了如何使用 @NamedNativeQuery 批注定义一个使用基础数据库的原生 SQL 的查询。示例 1-57 显示了如何使用 EntityManager 获取此查询以及如何通过 Query 方法 getResultList 执行该查询。
示例 1-56 使用 @NamedNativeQuery 实现一个 Oracle 层次查询
@Entity
@NamedNativeQuery(
name="findAllEmployees",
query="SELECT * FROM EMPLOYEE"
)
public class Employee implements Serializable {
...
}
示例 1-57 执行一个命名原生查询
Query queryEmployees = em.createNamedQuery("findAllEmployees");
Collection employees = queryEmployees.getResultList();
@NamedQueries
如果需要指定多个 @NamedQuery,则必须使用一个 @NamedQueries 批注指定所有命名查询。
表 1-27 列出了此批注的属性。有关更多详细信息,请参阅 API。
表 1-27 @NamedQueries 属性
value |
|
要指定两个或更多属性覆盖,请将 value 设置为 NamedQuery 实例数组(请参阅 @NamedQuery)。 |
示例 1-58 显示了如何使用此批注指定两个命名查询。
示例 1-58 @NamedQueries
@Entity
@NamedQueries({
@NamedQuery(
name="findAllEmployeesByFirstName",
query="SELECT OBJECT(emp) FROM Employee emp WHERE emp.firstName = :firstname"
),
@NamedQuery(
name="findAllEmployeesByLasttName",
query="SELECT OBJECT(emp) FROM Employee emp WHERE emp.lasstName = :lastname"
)
})
public class PartTimeEmployee extends Employee {
...
}
@NamedQuery
在使用 JPA 持续性提供程序的应用程序中,可以使用实体管理器动态创建和执行查询,也可以预定义查询并在运行时按名称执行。
使用 @NamedQuery 批注创建与 @Entity 或 @MappedSuperclass 关联的预定义查询,这些查询:
● 使用 JPA 查询语言(请参阅 JSR-000220 Enterprise JavaBeans v3.0 规范,第 4 章)进行基于任何基础数据库的可移植执行
● 经常被使用
● 比较复杂并且难于创建
● 可以在不同实体之间共享
● 只返回实体(从不返回标量值),并只返回一个类型的实体
如果有多个要定义的 @NamedQuery,则必须使用 @NamedQueries。
要在已知的基础数据库中预定义原生 SQL 查询,请参阅 @NamedNativeQuery。使用原生 SQL 查询,您可以返回实体(包括不同类型的实体)、标量值或同时返回两者。
表 1-28 列出了此批注的属性。有关更多详细信息,请参阅 API。
表 1-28 @NamedQuery 属性
query |
|
要指定查询,请将 query 设置为 JPA 查询语言(作为 String)。 有关 JPA 查询语言的详细信息,请参阅 JSR-000220 Enterprise JavaBeans v.3.0 规范的第 4 章。 |
hints |
|
默认值:空 QueryHint 数组。 默认情况下,JPA 持续性提供程序假设 SQL 查询应完全按照 query 属性提供的方式执行,而不管基础数据库如何。 如果您知道基础数据库在运行时的状态,则要微调查询的执行,可以选择将 hints 设置为 QueryHint 数组(请参阅 @QueryHint)。在执行时,EntityManager 将向基础数据库传递提示。 |
name |
|
要指定查询名称,请将 name 设置为查询名称(作为 String)。 这是您在运行时调用查询所使用的名称(请参阅示例 1-59)。 |
示例 1-59 显示了如何使用 @NamedQuery 批注定义一个JPA 查询语言查询,该查询使用名为 firstname 的参数。示例 1-60 显示了如何使用 EntityManager 获取此查询并使用 Query 方法 setParameter 设置 firstname 参数。
示例 1-59 使用 @NamedQuery 实现一个带参数的查询
@Entity
@NamedQuery(
name="findAllEmployeesByFirstName",
query="SELECT OBJECT(emp) FROM Employee emp WHERE emp.firstName = :firstname"
)
public class Employee implements Serializable {
...
}
示例 1-60 执行命名查询
Query queryEmployeesByFirstName = em.createNamedQuery("findAllEmployeesByFirstName");
queryEmployeeByFirstName.setParameter("firstName", "John");
Collection employees = queryEmployessByFirstName.getResultList();
@OneToMany
默认情况下,JPA 为具有一对多多重性的多值关联定义一个 OneToMany 映射。
使用 @OneToMany 批注:
● 将获取类型配置为 LAZY
● 由于所使用的 Collection 不是使用一般参数定义的,因此配置关联的目标实体
● 配置必须层叠到关联目标的操作:例如,如果删除了拥有实体,则确保还删除关联的目标
● 配置持续性提供程序对单向一对多关系使用的连接表(请参阅 @JoinTable)的详细信息
表 1-29 列出了此批注的属性。有关更多详细信息,请参阅 API。
表 1-29 @OneToMany 属性
cascade |
|
默认值:CascadeType 的空数组。 默认情况下,JPA 不会将任何持续性操作层叠到关联的目标。 如果希望某些或所有持续性操作层叠到关联的目标,请将 cascade 设置为一个或多个 CascadeType 实例,其中包括: ● ALL - 针对拥有实体执行的任何持续性操作均层叠到关联的目标。 ● MERGE - 如果合并了拥有实体,则将 merge 层叠到关联的目标。 ● PERSIST - 如果持久保存拥有实体,则将 persist 层叠到关联的目标。 ● REFRESH - 如果刷新了拥有实体,则 refresh 为关联的层叠目标。 ● REMOVE - 如果删除了拥有实体,则还删除关联的目标。 |
fetch |
|
默认值:FetchType.EAGER。 默认情况下,JPA 持续性提供程序使用获取类型 EAGER:它要求持续性提供程序运行时必须急性获取数据。 如果这不适合于应用程序或特定的持久字段,请将 fetch 设置为 FetchType.LAZY:它提示持续性提供程序在首次访问数据(如果可以)时应惰性获取数据。 |
mappedBy |
|
默认值:如果关系是单向的,则该持续性提供程序确定拥有该关系的字段。 如果关系是双向的,则将关联相反(非拥有)方上的 mappedBy 元素设置为拥有此关系的字段或属性的名称(如示例 1-61 所示)。 |
targetEntity |
|
默认值:使用一般参数定义的 Collection 的参数化类型。 默认情况下,如果使用通过一般参数定义的 Collection,则持续性提供程序将从被引用的对象类型推断出关联的目标实体。 如果 Collection 不使用一般参数,则必须指定作为关联目标的实体类:将关联拥有方上的 targetEntity 元素设置为作为关系目标的实体的 Class。 |
示例 1-61 和示例 1-62 显示了如何使用此批注在使用一般参数的 Customer(被拥有方)和 Order(拥有方)之间配置一个一对多映射。
示例 1-61 @OneToMany - 使用一般参数的 Customer 类
@Entity
public class Customer implements Serializable {
...
@OneToMany(cascade=ALL, mappedBy="customer")
public Set<Order> getOrders() {
return orders;
}
...
}
示例 1-62 @ManyToOne - 使用一般参数的 Order 类
@Entity
public class Customer implements Serializable {
...
@ManyToOne
@JoinColumn(name="CUST_ID", nullable=false)
public Customer getCustomer() {
return customer;
}
...
}
@OneToOne
默认情况下,JPA 为指向另一个具有一对一多重性的实体的单值关联定义一个 OneToOne 映射,并从被引用的对象类型推断出关联的目标实体。
使用 @OneToOne 批注:
● 将获取类型配置为 LAZY
● 如果空值不适合于应用程序,则将映射配置为禁止空值(针对非基元类型)
● 配置关联的目标实体(如果无法从被引用的对象类型推断出它)
● 配置必须层叠到关联目标的操作:例如,如果删除了拥有实体,则确保还删除关联的目标
表 1-30 列出了此批注的属性。有关更多详细信息,请参阅 API。
表 1-30 @OneToOne 属性
cascade |
|
默认值:CascadeType 的空数组。 默认情况下,JPA 不会将任何持续性操作层叠到关联的目标。 如果希望某些或所有持续性操作层叠到关联的目标,请将 cascade 设置为一个或多个 CascadeType 实例,其中包括: ● ALL - 针对拥有实体执行的任何持续性操作均层叠到关联的目标。 ● MERGE - 如果合并了拥有实体,则将 merge 层叠到关联的目标。 ● PERSIST - 如果持久保存拥有实体,则将 persist 层叠到关联的目标。 ● REFRESH - 如果刷新了拥有实体,则 refresh 为关联的层叠目标。 ● REMOVE - 如果删除了拥有实体,则还删除关联的目标。 |
fetch |
|
默认值:FetchType.EAGER。 默认情况下,JPA 持续性提供程序使用获取类型 EAGER:它要求持续性提供程序运行时必须急性获取数据。 如果这不适合于应用程序或特定的持久字段,请将 fetch 设置为 FetchType.LAZY:它提示持续性提供程序在首次访问数据(如果可以)时应惰性获取数据。 |
mappedBy |
|
默认值:如果关系是单向的,则该持续性提供程序确定拥有该关系的字段。 如果关系是双向的,则将关联相反(非拥有)方上的 mappedBy 元素设置为拥有此关系的字段或属性的名称(如示例 1-64 所示)。 |
|
|
默认值:true。 默认情况下,JPA 持续性提供程序假设所有(非基元)字段和属性的值可以为空。 如果这并不适合于您的应用程序,请将 optional 设置为 false。 |
targetEntity |
|
默认值:JPA 持续性提供程序从被引用的对象类型推断出关联的目标实体。 如果持续性提供程序无法推断出目标实体的类型,则将关联的拥有方上的 targetEntity 元素设置为作为关系目标的实体的 Class。 |
示例 1-63 和示例 1-64 显示了如何使用此批注在 Customer(拥有方)和 CustomerRecord(被拥有方)之间配置一个一对一映射。
示例 1-63 @OneToOne - Customer 类
@Entity
public class Customer implements Serializable {
...
@OneToOne(optional=false)
@JoinColumn(name="CUSTREC_ID", unique=true, nullable=false, updatable=false)
public CustomerRecord getCustomerRecord() {
return customerRecord;
}
...
}
示例 1-64 @OneToOne - CustomerRecord 类
@Entity
public class CustomerRecord implements Serializable {
...
@OneToOne(optional=false, mappedBy="customerRecord")
public Customer getCustomer() {
return customer;
}
...
}
@OrderBy
默认情况下,JPA 持续性提供程序按关联实体的主键以升序顺序检索 Collection 关联的成员。
将 @OrderBy 批注与 @OneToMany 和 @ManyToMany 一起使用以便:
● 指定一个或多个作为排序依据的其他字段或属性
● 为每个这样的字段或属性名指定不同的排序(升序或降序)
表 1-31 列出了此批注的属性。有关更多详细信息,请参阅 API。
表 1-31 @OrderBy 属性
value |
|
默认值:JPA 持续性提供程序按关联实体的主键以升序顺序检索 Collection 关联的成员。 如果要按某些其他字段或属性排序并指定了不同的排序,则将 value 设置为以下元素的逗号分隔列表:"property-or-field-name ASC|DESC”(请参阅示例 1-65)。 |
示例 1-65 显示了如何使用 @OrderBy 批注指定 Project 方法 getEmployees 应按 Employee 字段 lastname 以升序顺序并按 Employee 字段 seniority 以降序顺序返回 Employee 的 List。示例 1-66 显示了默认情况下,Employee 方法 getProjects 按 Employee 主键 empId 以升序顺序返回 List。
示例 1-65 Project 实体
@Entity public class Project {
...
@ManyToMany
@OrderBy("lastname ASC", "seniority DESC")
public List<Employee> getEmployees() {
...
};
...
}
示例 1-66 Employee 实体
@Entity public class Employee {
@Id
private int empId;
...
private String lastname;
...
private int seniority;
...
@ManyToMany(mappedBy="employees")
// By default, returns a List in ascending order by empId
public List<Project> getProjects() {
...
};
...
}
发表评论
-
hibernate spring 事务
2009-08-31 16:38 2466在我们的项目中我们可以使用spring的事务机制来处理, ... -
hibernate 事务 annoation
2009-08-31 10:11 2073事务隔离 使用封锁技术,事务对申请的资源加锁,但是会影响 ... -
hibernate (十一 缓存Ehcache 采用annoation)
2009-08-24 17:08 2087从hibernate2.1开始ehcache已经作为hiber ... -
hibernate annoation (十 映射查询)
2009-08-20 17:26 1734在类级别上配置: @Entity @NamedQuer ... -
hibernate annoation (九 cascading)
2009-08-20 16:02 10791,cascade=CascadeType.PERSIST ... -
hibernate annoation (八 关联映射)
2009-08-19 14:50 941onetoone:单向 1,主键关联: 在关联放使用@O ... -
hibernate annoation (七 继承映射)
2009-08-19 10:31 1665Table per Class Strategy: the & ... -
hibernate annoation (六 复合主键)
2009-08-18 18:05 1229主键类:定义为@Embeddable @Embeddable ... -
hibernate annoation (五 组件)
2009-08-18 17:54 851例如:有三个类 A B C 最终要持久化的类是A 而 B C ... -
hibernate annoation (四 lob)
2009-08-18 16:58 1547hiberante sql映射对应 Java数据 ... -
hibernate annoation (三 id生成器)
2009-08-18 16:28 1298id生成:hibernate内不可使用的id生成器可见代码 ... -
hibernate annoation (二创建表)
2009-08-18 14:56 1072为了追踪hibernate的信息 <property n ... -
hibernate annoation (一加载)
2009-08-18 13:55 1046转载请说明地址和作者 一,配置文件加载 1,Con ...
相关推荐
Struts、Spring和Hibernate是Java Web开发中的三大框架,它们分别负责表现层、业务层和持久层的管理。本示例将重点介绍如何利用注解(Annotation)在Hibernate中替代XML配置来实现留言管理功能。 首先,让我们了解...
Hibernate 配置各种数据库 Hibernate 是一个基于 Java 的持久层框架,提供了一个抽象的数据访问层,能够与多种数据库进行集成。在 Hibernate 的配置文件中,我们可以配置不同的数据库连接,包括驱动程序、URL 等...
"Hibernate入门到精通" Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 ...
标题“hibernate官方入门教程 (转载)”表明这是一份关于Hibernate框架的基础教学资源,可能是从官方文档或者其他可靠来源整理而来的,适合初学者了解和学习Hibernate。 描述中提到的“NULL”意味着没有具体的描述...
Hibernate.jar包,Hibernate可以应用在任何使用JDBC的场合,包含 hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-...
Hibernate3 是一个非常重要的Java持久化框架,它简化了数据库操作,使得开发人员可以更加专注于业务逻辑而不是数据库的细节。这个`hibernate3.zip`压缩包包含了`hibernate3.jar`,它是Hibernate 3版本的核心库,包含...
本项目"基于Annoation的Spring 2.5+ Hibernate + Freemarker整合"是将这三个框架集成在一起,实现了一个高效、灵活的Web应用程序开发环境。让我们详细探讨这三个框架及其在该项目中的整合应用。 首先,Spring 2.5是...
在Java开发环境中,与KingbaseV8数据库进行交互通常会用到Hibernate框架和JDBC驱动。 Hibernate是一个优秀的对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作,通过将Java对象与数据库表进行映射,...
Hibernate3 是一个强大的Java持久化框架,它允许开发者将数据库操作与业务逻辑解耦,使得应用程序的开发更为简便。这个“hibernate3全部jar包:hibernate3.jar.zip”包含了所有必要的库文件,方便用户一次性下载并...
标题中的“hibernate和MySQL的jar”指的是Hibernate ORM框架与MySQL数据库之间的连接库。Hibernate是一种流行的Java对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来操作数据库,而无需直接编写SQL...
《Hibernate-Extensions全面指南》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作。然而,为了满足更复杂的业务需求,Hibernate还提供了丰富的扩展功能,这就是我们今天要...
### 关于《Beginning Hibernate: For Hibernate 5》的知识点总结 #### Hibernate 5 概述 - **定义**: Hibernate 是一款流行的开源对象关系映射(ORM)框架,它简化了数据库与 Java 对象之间的交互过程。 - **版本**...
HibernateTools是Java开发人员在使用Hibernate ORM框架时的有力辅助工具集,主要目的是为了提高开发效率,简化数据库操作。在HibernateTools 3.2.4版本中,它包含了一系列的特性与插件,以支持更便捷地进行对象关系...
Hibernate3是一个广泛使用的Java对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作,极大地简化了Java应用程序与数据库之间的交互。在这个"Hibernate3的依赖包"中,包含了运行Hibernate3应用...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库。这个框架将数据库操作转化为对Java对象的操作,简化了数据持久化的复杂度。以下是对Hibernate的一些关键知识点的...
Hibernate3 是一个非常重要的Java持久化框架,它允许开发者将对象模型与数据库关系模型进行映射,从而简化了数据存取的过程。这个压缩包“hibernate3必要jar包”显然是针对Hibernate3版本的,已经去除了冗余的库文件...
【描述】中的"hibernate的jar包"指的是Hibernate框架的运行库文件,这些JAR文件包含了Hibernate的所有核心API、实现和依赖库,如Hibernate Commons Annotations、Hibernate EntityManager、Hibernate Core等。...
《深入理解Hibernate配置与映射:hibernate-configuration-3.0.dtd与hibernate-mapping-3.0.dtd解析》 在Java世界里,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而`hibernate-...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了Java应用中的数据存取工作。本压缩包包含了与Hibernate 5相关的jar包,这些jar包是构建和运行基于...
标题"Hibernate 中文api 等学习资料"暗示了这是一组针对Hibernate ORM框架的中文学习资源,包括API文档和其他指南,旨在帮助用户更好地理解和使用Hibernate。 描述中的"hibernate orm框架api中文文档,学习资料,...