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

  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. ORA-12541:TNS:无监听程序

    安装oracle以后,sql plus可以正常登陆,pl/sql登陆时报错ORA-12541:TNS:无监听程序,解决方案如下: http://blog.csdn.net/hao134838/arti ...

  2. android保存bitmap到sdcard

    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { //判断sdcard是否存在和是否具有读写 ...

  3. RabbitMQ消息队列阻塞导致服务器宕机

    最近工作中存储服务器由于压力太大无法及时消费消息.这个过程中,导致RabbitMQ意外挂掉,无法访问.下面是部分问题分析过程. 麒麟系统服务器分析 1.服务器异常信息: [root@localhost ...

  4. Android GIS开发系列-- 入门季(3) GraphicsLayer添加点、线、面

    GraphicsLayer是图形图层,可以自定义图形添加到地图上.调用GraphicsLayer的addGraphic方法就能添加图形,此方法要一个Graphic对象,此对象的构造方法是Graphic ...

  5. GNS3 使用SecureCRT

    "D:\SecureCRT\SecureCRT.EXE" /SCRIPT D:\SecureCRT\DyRouter.vbs /ARG %d /T /TELNET %h %p st ...

  6. Domino Server installation on Linux (Centos or Redhat) – something somewhere

    something somewhere welcome in there…:) Just another techki site howto / Linux / Lotus Domino 0 Domi ...

  7. 使用SQL Profile及SQL Tuning Advisor固定运行计划

    SQL Profile就是为某一SQL语句提供除了系统统计信息.对象(表和索引等)统计信息之外的其它信息,比方执行环境.额外的更准确的统计信息,以帮助优化器为SQL语句选择更适合的执行计划. SQL ...

  8. js实现存取Map结构的数据

    //控制关联表单元素是否显示 var relateItemMap = {}; for(var i=0; i<formAttributeItemList.length; i++){ var ite ...

  9. 曼哈顿距离(坐标投影距离之和)d(i,j)=|X1-X2|+|Y1-Y2|.

    曼哈顿距离(坐标投影距离之和)d(i,j)=|X1-X2|+|Y1-Y2|. 我们可以定义曼哈顿距离的正式意义为L1-距离或城市区块距离,也就是在欧几里德空间的固定直角坐标系上两点所形成的线段对轴产生 ...

  10. AD、DNS、DHCP、IIS、WINS的形象定义及关系

    AD-实际是就是一个包括所有信息的数据库,和现实生活中就将其比作派出所,所有的信息都要进入他那的数据库当中(包括人员姓名(计算机名.账号.密码等) DNS就是建立起关联起好记忆的名称,比如你家的位置用 ...