`

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.

分享到:
评论

相关推荐

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

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

    jpa 全面学习资料

    jpa 全面学习资料 入门 实战 示例 jpa开发手册 JPA_全面讲解 JPA使用入门_基础 JPA学习笔记 JPA注解 JPA简介

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

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

    jpaExam:准备 Java Persistence API Developer 考试时的有用笔记和代码示例

    JPA 2.0 考试注意事项和代码示例

    java8看不到源码-ZkToDo2:具有ZK、Spring和JPA的ZK模式演示应用程序

    的“ZkToDo2”示例应用程序的代码 这是白皮书中的源代码项目。 针对 Java8、ZK 8.0.0、Spring 4.0.9.RELEASE 和 Hibernate 4.3.10.Final 进行测试 在云中看到它 运行在 运行在 获取源码: git clone ...

    EJB 知识笔记 比较实用

    比较详细的EJB笔记,介绍了EJB的一系列知识,包括EJB的概念、发展、编程方式与步骤,还主要介绍了JPA的编程方式

    CPD4414-BuildIt11:第 11 课的示例

    CPD-4414 第 11 课的 Build It 示例Java 持久化 API 此存储库包含基于 JAX-RS 的 JPA 的课程示例。 要检索这些文件并使用它们: 打开 NetBeans 导航到 Team -&gt; Git -&gt; Clone... 或 Team -&gt; Git -&gt; Remote -&gt; Clone.....

    CPD4414-BuildIt11

    CPD-4414 第 11 课的 Build It 示例Java 持久化 API 此存储库包含基于 JAX-RS 的 JPA 的课程示例。 要检索这些文件并使用它们: 打开 NetBeans 导航到 Team -&gt; Git -&gt; Clone... 或 Team -&gt; Git -&gt; Remote -&gt; Clone.....

    小白图书笔记本管理Java系统Vue + Spring Boot 项目实战

    这个项目的第一部分以图书信息管理为示例 如何从 0 开始搭建 Web 项目? 什么是前后端分离?如何实现前后端分离? 单页面应用有哪些特点? 如何在 Web 项目中使用数据库并利用网页实现增删改查? 在开发中如何利用...

    java文集

    ext学习笔记一 小试iBatis RIA(Rich Internet Application)的现状和未来 Java应用中域名解析不过期的解决方法 Java编程那些事儿45—数组使用示例1 一步步熟悉OFBiz 用Java做客户端调用.NET写...

    spring-a-gram:使用Spring Data REST上传,存储和管理图片

    此示例应用程序演示了如何声明一个旨在存储图像数据的后端如何使上传图片然后转身显示在网站上变得尽可能简单。 这为其他前端打开了大门,例如iOS或Android应用程序。 如果要立即运行,则需要: Java 8+ Maven 3

Global site tag (gtag.js) - Google Analytics