假设,一个农场产出多种植物,具体的某一植物产于某一农场。

  3 import java.io.Serializable;
4 import java.util.Set;
5 import javax.persistence.CascadeType;
6 import javax.persistence.Column;
7 import javax.persistence.Entity;
8 import javax.persistence.FetchType;
9 import javax.persistence.GeneratedValue;
10 import javax.persistence.Id;
11 import javax.persistence.OneToMany;
12 /**
13 * -----------------------------------------
14 * @描述 农场
17 * @日期 2012-10-21 <p>
18 * -----------------------------------------
19 */
20 @Entity
21 public class Farm implements Serializable{
22
23 private static final long serialVersionUID = 1L;
24
25 private Integer id;
26 private String name;
27 private Set<Plant> plantSet;
28
29 @Id
30 @GeneratedValue
31 public Integer getId() {
32 return id;
33 }
34 @Column(length = 18, nullable = false)
35 public String getName() {
36 return name;
37 }
38 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "farm")
39 public Set<Plant> getPlantSet() {
40 return plantSet;
41 }
42 public void setId(Integer id) {
43 this.id = id;
44 }
45 public void setName(String name) {
46 this.name = name;
47 }
48 public void setPlantSet(Set<Plant> plantSet) {
49 this.plantSet = plantSet;
50 }
51 }
3 import java.io.Serializable;
4 import javax.persistence.CascadeType;
5 import javax.persistence.Column;
6 import javax.persistence.Entity;
7 import javax.persistence.FetchType;
8 import javax.persistence.GeneratedValue;
9 import javax.persistence.Id;
10 import javax.persistence.ManyToOne;
11 /**
12 * -----------------------------------------
13 * @描述 植物
16 * @日期 2012-10-21 <p>
17 * -----------------------------------------
18 */
19 @Entity
20 public class Plant implements Serializable{
21
22 private static final long serialVersionUID = 1L;
23
24 private Integer id;
25 private String name;
26 private Farm farm;
27
28 @Id
29 @GeneratedValue
30 public Integer getId() {
31 return id;
32 }
33 @Column(length = 18, nullable = false)
34 public String getName() {
35 return name;
36 }
37 @ManyToOne(cascade = CascadeType.PERSIST, optional = false, fetch = FetchType.LAZY)
38 public Farm getFarm() {
39 return farm;
40 }
41 public void setId(Integer id) {
42 this.id = id;
43 }
44 public void setName(String name) {
45 this.name = name;
46 }
47 public void setFarm(Farm farm) {
48 this.farm = farm;
49 }
50
51 }

hibernate annotation 之 一对多、多对一双向外键关联的更多相关文章

  1. 08-hibernate注解-多对多双向外键关联

    多对多双向外键 双方持有对方的集合对象 其中一方设置: //教师类 @ManyToMany(mappedBy="teachers")   //mappedby表示教师交给学生来控制 ...

  2. hibernate一对一双向外键关联

    一对一双向外键关联:双方都持有对方的外键关联关系. 主控方和一对一单向外键关联的情况是一样的,主要的差异表现为,被空方需要添加: @OneToOne(mappedBy="card" ...

  3. hibernate---一对一双向外键关联 (重要)

    husband--wife: one to one 双向外键关联: 主导方: @OneToOne @JoinColumn(name="wifeId") 被主导方: @OneToOn ...

  4. 07-hibernate注解-一对多(多对一)双向外键关联

    一对多(多对一)双向外键 多方:多方持有一方的引用. @ManyToOne(cascade={CasCadeType.ALL},fetch=FetchType.EAGER) @JoinColumn(n ...

  5. 08-hibernate注解-多对多单向外键关联

    多对多单向外键 1,学生和教师构成多对多的关联关系 2,其中一个多方持有另一个多方的集合对象(学生持有教室的集合) 3,通过注解@JoinTable,创建中间表(作为多对多的载体,用来确定学生和教师的 ...

  6. 05-hibernate注解-多对一单向外键关联

    多对一单向外键 1,多方持有一方的引用,比如:多个学生对应一个班级(多对一) 2,@ManyToOne(cascade={CascadeType.ALL},  fetch=FetchType.EAGE ...

  7. 04-hibernate注解-一对一双向外键关联

    一对一双向外键 1,主控方的配置同一对一单向外键关联. 2,@OneToOne(mappedBy="card") //被控方 @OneToOne(mappedBy="ca ...

  8. Java进阶知识07 Hibernate一对一双向外键关联(Annotation+XML实现)

    1.Annotation 注解版 1.1.创建Husband类和Wife类 package com.shore.model; import javax.persistence.Entity; impo ...

  9. Hibernate关系映射 一对一双向外键关联@OneToOne Annotation方式 双向关联和单向关联的区别

    首先还是来构造一个实际应用的场景,比如实体类车辆(Car),它具有以下属性:Id,品牌(brand),车牌(lisencePlate):实体类车牌(LisencePlate),它具有以下属性:Id,号 ...

随机推荐

  1. Maven学习总结(30)——Maven项目通用三级版本号说明

     项目版本号说明     当前版本号:1.0.0-SNAPSHOT     本项目采用通用的三级版本号,版本号格式是[主版本号].[副版本号].[修复版本号]-[稳定状态],如:1.0.0-SNAPS ...

  2. noip模拟赛 whzzt-Confidence

    分析:做着感觉像脑筋急转弯一样......因为空间的限制,存不下每一个数,所以用数学方法来解. 设t1=Σai - Σbi = aj - bj,t2=Σi*ai - Σi*bi = j*(aj - b ...

  3. noip模拟赛 序

    [问题背景]zhx 给他的妹子们排序.[问题描述]zhx 有 N 个妹子, 他对第 i 个妹子的好感度为 ai,且所有 ai两两不相等. 现 在 N 个妹子随意站成一排, 他要将她们根据好感度从小到大 ...

  4. 总结懒加载的解决方法(全)org.hibernate.LazyInitializationException: could not initialize proxy - no Session

    如下错误:org.hibernate.LazyInitializationException: could not initialize proxy - no Session 原因是懒加载的问题,因为 ...

  5. mongodb片健的选取及更改

    1.总的原则:选键的时候多考虑以下问题. 写操作是怎么样的,有多大? 系统每小时会写多少数据,每天呢,高峰期呢 那些字段是随机的,那些是增长的 读操作是怎么样的,用户在访问那些数据 数据索引做了吗?应 ...

  6. TI C66x DSP 系统events及其应用 - 5.11(中断控制寄存器)

    C66x DSP运行中断的简要流程: 1.使能了全局中断和子中断.假设硬件检測到中断发生,那么CPU就要跳转. 2.软件把CPU内部的A,B类寄存器的值等推入堆栈保存,把当前PC寄存器的值放入IRP寄 ...

  7. uboot arp地址解析

    common/cmd_cache.c int do_getmac(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {     //usend d ...

  8. Linux下Shell编程

    Linux的shell编程 1.什么是shell? 当一个用户登录Linux系统之后,系统初始化程序init就为每个用户执行一个称为shell(外壳)的程序. shell就是一个命令行解释器,它为用户 ...

  9. JAVA 网络长短连接

       作为java的刚開始学习的人,看了网上的资料后,关于java的长短连接,感觉理解的不是非常深刻.结合自己的学习和网上的资料整理例如以下.不对之处请大家批评指正.                  ...

  10. Java原型模式之浅拷贝-深拷贝

    一.是什么? 浅拷贝:对值类型的成员变量进行值的复制,对引用类型的成员变量仅仅复制引用,不复制引用的对象 深拷贝:对值类型的成员变量进行值的复制,对引用类型的成员变量也进行引用对象的复制 内部机制: ...