来自sun官方的J2EE的tutorial:http://java.sun.com/javaee/5/docs/tutorial/doc/bnbsw.html
- roster 例子程序
程序中的实体:Play, Team, League. (球员、球队、联赛)
实体关系:
- 一个Play可以在多个Team中
- 一个Team可以有多个Play
- 一个Team对应一个League,不多也不能少
- 一个League当然有多个Team
总之:Play和Team是Many-Many的关系, Team和League是Many-One的关系。
Many-Many的注解:(在Team实体中)
@ManyToMany
@JoinTable(
name="EJB_ROSTER_TEAM_PLAYER",
joinColumns=
@JoinColumn(name="TEAM_ID", referencedColumnName="ID"),
inverseJoinColumns=
@JoinColumn(name="PLAYER_ID", referencedColumnName="ID")
)
public Collection<Player> getPlayers() {
return players;
}
@JoinTable用于将Play的ID和Team的ID关联起来,并标明Team是这种关系的维护者。程序部署的时候,容器会自动创建一个关联表:EJB_ROSTER_TEAM_PLAYER.
Play是反向关联端(inverseJoin),或者说非关系持有端,该实体类中需要用mappedBy元素来指明关系。
因为Play和Team的关系是双向的,因此由哪一方来维护关系是任意的。
@ManyToMany(mappedBy="players")
public Collection<Team> getTeams() {
return teams;
}
- Order 例子程序
Order程序是一个简单的存货、订购系统。程序的实体包括parts, vendors, orders, line items.
分享到:
相关推荐
Spring Data JPA 是一个强大的框架,它简化了Java应用程序与数据库之间的交互,是Spring生态中的重要组成部分。通过使用Spring Data JPA,开发者可以避免编写大量的JPA(Java Persistence API)和SQL代码,专注于...
下面是一个简单的 JPA HelloWorld 示例: 1. **创建 `persistence.xml` 文件**:按照上面的格式创建。 2. **定义实体类**:例如定义一个 `User` 类。 3. **编写 DAO 类**:实现对 `User` 类的操作。 4. **编写测试...
JPA(Java Persistence API)是由Sun Microsystems提出的一种标准,旨在为Java开发人员提供一个统一的对象/关系映射(ORM)解决方案,以简化Java应用程序中对关系型数据库的操作。JPA的出现主要是为了减少现有的ORM...
总的来说,这个项目提供了使用JSF和JPA进行Web开发的实际示例,对于想要了解这两种技术如何协同工作,以及如何在实际项目中应用它们的Java开发者来说,是一个非常有价值的参考资料。通过学习和分析这个项目,你可以...
**多对一关系配置示例:** ```java @Entity @Table(name = "t_user") public class User { @Id @GeneratedValue private int id; @Column(length = 50) private String name; @ManyToOne(fetch = FetchType...
- **概述**:`AUTO`是最常用的主键生成策略之一,也是JPA默认采用的方式。当使用该策略时,JPA会根据后端数据库的不同特性自动选择合适的主键生成方式。例如,在MySQL中,如果表的主键是自增字段,则使用数据库自身...
笔记: 使用该库的原因:我非常喜欢不变性。 我知道Immutables.js和Lombok,但是它们似乎在JPA中不能很好地发挥作用。 在示例中,实体的ID是用Java代码生成的,并且使用UUID。 UUID的生成不在生成的代码中,您...
### Spring-data-jpa 学习笔记 #### 一、spring-data-jpa的简单介绍 Spring Data JPA 是 Spring Data 的一部分,它简化了基于 Java Persistence API (JPA) 的数据访问层开发工作。Spring Data 旨在减少数据访问层...
**Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的数据,它为开发者提供了一种对象/关系映射(ORM)工具,将数据库操作转换为对Java对象的操作,简化了数据库编程。以下是对JPA的全面...
### JPA学习笔记-EJB-02JPA属性注解 #### 一、引言 在上一篇文章中,我们简要介绍了Java Persistence API (JPA)的基础知识,包括它的基本部署和操作流程,从而让我们对JPA有了初步的认识。本文将继续深入探讨JPA的...
**JPA.txt**可能是一个文本文件,里面可能是JPA的笔记、教程、命令行示例或者是开发者在实践中遇到的问题和解决方案。 通过学习这些材料,开发者不仅可以了解JPA的基础知识,还能掌握如何在实际项目中应用JPA进行...
Specifications的使用示例: ```java public interface UserRepository extends JpaRepository, Long>, JpaSpecificationExecutor<User> { // ... } public static Specification<User> searchByCriteria(String ...
《尚硅谷SpringBoot整合技术篇》是一套全面深入讲解SpringBoot技术的课程资源,涵盖了课件、笔记、示例代码等多个方面,旨在帮助学习者全方位掌握SpringBoot在实际开发中的应用。SpringBoot作为Spring框架的一个简化...
- "传智播客JPA学习笔记"可能包含了关于JPA的详细教程,涵盖了基本概念、API使用以及实际示例,可以帮助初学者快速入门。 - "hibernate-JPA"可能是指Hibernate作为JPA的实现, Hibernate提供了丰富的功能,包括第一...
- **实体**(Entity):在JPA中,实体通常指的是应用程序中用来代表数据库表的对象。这些实体需要使用`javax.persistence.Entity`注解或XML映射来标记,并且通常需要提供一个无参数的构造函数。 - **实体限制**:...
- eclipselink:展示了如何在Spring Boot和Eclipselink中使用Spring Data JPA的示例项目。 - example:包含了各种示例包,展示了使用Spring Data JPA的不同级别。可以查看simple包以获取最基本的设置。 - ...
"Spring笔记示例源代码"这个资源很可能是为了帮助学习者深入理解Spring框架的各种功能和用法而提供的实际代码示例。 1. **Spring IoC**:IoC是Spring的核心特性,它将对象的创建和管理权交给Spring容器,使得开发者...
这个压缩包中的项目可能是Spring Data JPA与Hibernate结合的示例应用,包含了一个简单的数据访问层实现。开发者可以通过阅读源代码,了解如何在实际项目中应用这两个框架。 总的来说,Spring Data JPA和Hibernate...
在示例中,使用的是`1.4.3.RELEASE`版本,需要注意的是,如果引入了不兼容的版本或错误的依赖,如`spring-security-test`,可能会导致JPA映射问题,特别是对于外键约束,这可能导致数据一致性问题。因此,确保所有...