使用
XML
映射
JPA
中每一个注解都有一个对应的
XML
标签。
JPA2.0
规范第
12
章覆盖了所有的
XML
标签细节。
配置
XML
会覆盖注解中的值。如果你用某个值注解了一个属性或实体,同时你在
XML
部署描述符中配置了另一个值,那么,会采用
XML
中的值。
例:
@Entity
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String title;
private Float price;
@Column(length = 500)
private String description;
private String isbn;
private Integer nbOfPage;
private Boolean illustrations;
// Constructors, getters, setters
}
META-INF/book_mapping.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_2_0.xsd"
version="2.0">
<entity class="org.example.myproject.model.Book">
<table name="book_xml_mapping" />
<attributes>
<basic name="title">
<column name="book_title" nullable="false" updatable="false" />
</basic>
<basic name="description">
<column length="2000" />
</basic>
<basic name="nbOfPage">
<column name="nb_of_page" nullable="false" />
</basic>
</attributes>
</entity>
</entity-mappings>
persistence.xml 部分代码:
<persistence-unit name="primary">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<mapping-file>META-INF/book_mapping.xml</mapping-file>
<class>org.example.myproject.model.Book</class>
...
</persistence-unit>
最后是
XML
元数据和注解元数据的合并映射结果,产生的
DDL
:
CREATE TABLE `book_xml_mapping` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`description` longtext,
`illustrations` bit(1) DEFAULT NULL,
`isbn` varchar(255) DEFAULT NULL,
`nb_of_page` int(11) NOT NULL,
`price` float DEFAULT NULL,
`book_title` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)
分享到:
相关推荐
3. 实体类与对象关系映射:讲解如何定义Java实体类,并使用注解或XML文件进行对象关系映射,包括基本类型映射、关联映射(一对一、一对多、多对一、多对多)和继承映射。 4. Session与Transaction:介绍Hibernate的...
- **数据访问集成(Data Access/Integration)**:Spring提供了JDBC抽象层,简化了数据库操作,同时支持ORM(对象关系映射)框架如Hibernate和MyBatis。 - **MVC框架(Model-View-Controller)**:Spring MVC是...
而Hibernate作为持久层框架,简化了数据库操作,提供了ORM(对象关系映射)功能。 SSH框架的整合使得开发者能够更有效地管理应用程序的各个层次,实现松耦合、高复用的设计。例如,通过Spring的DI,可以轻松地更换...
这部分内容主要包含Part07和Part09两个部分,旨在帮助开发者提升在数据库操作和对象关系映射方面的技能。 Part07可能涉及的主题包括: 1. **持久化策略**:讲解了Hibernate的各种持久化策略,如懒加载(Lazy ...
3. **映射文件详解**:详细讲解XML或注解方式的实体映射,包括属性映射、关系映射(一对一、一对多、多对多)、继承映射等。 4. **HQL(Hibernate Query Language)**: Hibernate自己的查询语言,类似于SQL,但更...
总结来说,“Linq-To-Sql-Part_2-Define-Data-Model-Class”这个主题将指导你如何使用LINQ to SQL创建数据模型类,理解对象关系映射原理,以及如何编写查询和管理数据库交互。了解这些知识点后,你可以更有效地在...
5. **多对多关系映射**:详述如何配置和处理多对多关联,包括中间表的管理,以及集合的懒加载和级联操作。 6. **一对一关系映射**:深入讨论一对一关系的配置,包括外键约束、主键共享以及一对一关系的级联操作。 ...
通过ORM(对象关系映射),它将Java对象映射到数据库表,使得开发者可以使用面向对象的方式来操作数据库。 - Spring:是Java企业级应用开发的核心框架,提供依赖注入、AOP(面向切面编程)、事务管理等功能,使得...
Hibernate是Java领域中一款广泛应用的关系对象映射框架,它允许开发者使用面向对象的方式来操作数据库,大大简化了数据访问层的编码工作。这个压缩包“hibernate4.2.3-part01”很可能是Hibernate 4.2.3版本的一部分...
Hibernate是一个流行的开源对象关系映射(ORM)框架,它允许Java开发者在处理数据库时使用面向对象的方式,极大地简化了数据库操作。在这个版本中,我们可能会发现一系列用于数据库交互的API、配置文件、示例代码和...
7. 数据类型的映射:这部分描述了XCP中定义的数据类型和ASAM标准数据类型之间的映射关系。为了确保不同系统和设备间数据的一致性和可交换性,数据类型的映射是必要的。 8. 文档的版权和声明:文档指出其内容版权...
在Java世界中,ORM(对象关系映射)框架如Hibernate极大地简化了数据库操作。本篇文章主要探讨的是Hibernate中的一对多关联关系映射,这是在实际项目开发中非常常见的一种关系映射类型。通过理解并掌握一对多关联,...
Hibernate,作为一个流行的开源对象关系映射(ORM)框架,为Java开发者提供了一种简单而强大的方式来管理数据库操作。在Java应用中,Hibernate使得开发人员可以将业务逻辑与数据库操作解耦,从而更加专注于应用程序...
Hibernate是一个广泛使用的Java库,用于将对象关系映射(ORM)到关系数据库,简化数据库操作,让开发者可以使用面向对象的方式来处理数据库。 在Java世界中,ORM工具如Hibernate消除了手动编写SQL语句的需要,使得...
Hibernate作为Java领域中最流行的ORM(对象关系映射)工具,它允许开发者以面向对象的方式处理数据库操作,简化了数据库与Java应用程序之间的交互。一对一关系映射是数据库设计中常见的一种关联类型,表示一个实体与...
21.5.3 对游离对象进行版本检查 21.5.4 强制更新版本 21.6 实现乐观锁的其他方法 21.7 小结 21.8 思考题 第22章 管理Hibernate的缓存 22.1 缓存的基本原理 22.1.1 持久化层的缓存的范围 22.1.2 持久...