`

JPA 笔记(一):示例程序

    博客分类:
  • JPA
 
阅读更多

来自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 笔记

    Spring Data JPA 是一个强大的框架,它简化了Java应用程序与数据库之间的交互,是Spring生态中的重要组成部分。通过使用Spring Data JPA,开发者可以避免编写大量的JPA(Java Persistence API)和SQL代码,专注于...

    jpa学习笔记

    下面是一个简单的 JPA HelloWorld 示例: 1. **创建 `persistence.xml` 文件**:按照上面的格式创建。 2. **定义实体类**:例如定义一个 `User` 类。 3. **编写 DAO 类**:实现对 `User` 类的操作。 4. **编写测试...

    传智播客JPA学习笔记.pdf

    JPA(Java Persistence API)是由Sun Microsystems提出的一种标准,旨在为Java开发人员提供一个统一的对象/关系映射(ORM)解决方案,以简化Java应用程序中对关系型数据库的操作。JPA的出现主要是为了减少现有的ORM...

    notes_JPA_JSF:使用JSF和JPA实施来重建Notes项目

    总的来说,这个项目提供了使用JSF和JPA进行Web开发的实际示例,对于想要了解这两种技术如何协同工作,以及如何在实际项目中应用它们的Java开发者来说,是一个非常有价值的参考资料。通过学习和分析这个项目,你可以...

    spring 使用 Jpa的笔记

    **多对一关系配置示例:** ```java @Entity @Table(name = "t_user") public class User { @Id @GeneratedValue private int id; @Column(length = 50) private String name; @ManyToOne(fetch = FetchType...

    JPA学习笔记-EJB-03JPA主键生成策略总结

    - **概述**:`AUTO`是最常用的主键生成策略之一,也是JPA默认采用的方式。当使用该策略时,JPA会根据后端数据库的不同特性自动选择合适的主键生成方式。例如,在MySQL中,如果表的主键是自增字段,则使用数据库自身...

    easy-jpa-entities:从YAML文件生成不可变的JPA实体

    笔记: 使用该库的原因:我非常喜欢不变性。 我知道Immutables.js和Lombok,但是它们似乎在JPA中不能很好地发挥作用。 在示例中,实体的ID是用Java代码生成的,并且使用UUID。 UUID的生成不在生成的代码中,您...

    Spring-data-jpa 学习笔记.docx

    ### Spring-data-jpa 学习笔记 #### 一、spring-data-jpa的简单介绍 Spring Data JPA 是 Spring Data 的一部分,它简化了基于 Java Persistence API (JPA) 的数据访问层开发工作。Spring Data 旨在减少数据访问层...

    jpa 全面学习资料

    **Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的数据,它为开发者提供了一种对象/关系映射(ORM)工具,将数据库操作转换为对Java对象的操作,简化了数据库编程。以下是对JPA的全面...

    JPA学习笔记-EJB-02JPA属性注解

    ### JPA学习笔记-EJB-02JPA属性注解 #### 一、引言 在上一篇文章中,我们简要介绍了Java Persistence API (JPA)的基础知识,包括它的基本部署和操作流程,从而让我们对JPA有了初步的认识。本文将继续深入探讨JPA的...

    jpa开发实例和文档

    **JPA.txt**可能是一个文本文件,里面可能是JPA的笔记、教程、命令行示例或者是开发者在实践中遇到的问题和解决方案。 通过学习这些材料,开发者不仅可以了解JPA的基础知识,还能掌握如何在实际项目中应用JPA进行...

    2.0jpa查询学习笔记1

    Specifications的使用示例: ```java public interface UserRepository extends JpaRepository, Long&gt;, JpaSpecificationExecutor&lt;User&gt; { // ... } public static Specification&lt;User&gt; searchByCriteria(String ...

    尚硅谷SpringBoot整合技术篇-课件、笔记、示例代码

    《尚硅谷SpringBoot整合技术篇》是一套全面深入讲解SpringBoot技术的课程资源,涵盖了课件、笔记、示例代码等多个方面,旨在帮助学习者全方位掌握SpringBoot在实际开发中的应用。SpringBoot作为Spring框架的一个简化...

    jpa2.0jar包

    - "传智播客JPA学习笔记"可能包含了关于JPA的详细教程,涵盖了基本概念、API使用以及实际示例,可以帮助初学者快速入门。 - "hibernate-JPA"可能是指Hibernate作为JPA的实现, Hibernate提供了丰富的功能,包括第一...

    JPA的学习笔记(java注解,事物)

    - **实体**(Entity):在JPA中,实体通常指的是应用程序中用来代表数据库表的对象。这些实体需要使用`javax.persistence.Entity`注解或XML映射来标记,并且通常需要提供一个无参数的构造函数。 - **实体限制**:...

    Spring 各种例子:Spring Data Elasticsearch,JDBC,JPA,LDAP,MongoDB

    - eclipselink:展示了如何在Spring Boot和Eclipselink中使用Spring Data JPA的示例项目。 - example:包含了各种示例包,展示了使用Spring Data JPA的不同级别。可以查看simple包以获取最基本的设置。 - ...

    Spring笔记示例源代码

    "Spring笔记示例源代码"这个资源很可能是为了帮助学习者深入理解Spring框架的各种功能和用法而提供的实际代码示例。 1. **Spring IoC**:IoC是Spring的核心特性,它将对象的创建和管理权交给Spring容器,使得开发者...

    spring-data-jpa hibernate

    这个压缩包中的项目可能是Spring Data JPA与Hibernate结合的示例应用,包含了一个简单的数据访问层实现。开发者可以通过阅读源代码,了解如何在实际项目中应用这两个框架。 总的来说,Spring Data JPA和Hibernate...

    2spring security+jpa外键关联学习笔记1

    在示例中,使用的是`1.4.3.RELEASE`版本,需要注意的是,如果引入了不兼容的版本或错误的依赖,如`spring-security-test`,可能会导致JPA映射问题,特别是对于外键约束,这可能导致数据一致性问题。因此,确保所有...

Global site tag (gtag.js) - Google Analytics