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

  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. Shiro_权限 URL 配置细节

    [部分细节] 1.[urls] 部分的配置,其格式是:“url=拦截器[参数],拦截器[参数]”: 2.如果当前请求的URL匹配 [urls] 部分的某个url模式,将会执行其配置的拦截器. 3.an ...

  2. java增强for循环中获取index

    java增强for循环中获取index http://rensanning.iteye.com/blog/2003205

  3. pat甲级 1107. Social Clusters (30)

    When register on a social network, you are always asked to specify your hobbies in order to find som ...

  4. 开源的多行字符串工具: 在JS中整段地写HTML

    这样看来ES6的多行字符模板可能就不需要了-- 通过这个你可以整段整段地在JS中写HTML.SQL了. 示例 之前你得这样写 var str = '' +'<!doctype html>' ...

  5. jQuery中事情的动态绑定 (转)

    小弟初来乍到,还弄不清楚如何添加链接   这是我转别人的,原文地址:http://blog.csdn.net/zhuyong0722/article/details/8590815#comments ...

  6. 解决win10磁盘占用过大的问题(亲测有效)

    问题:打开任务管理器,经常会发现磁盘占用95%以上,电脑很卡,下面是解决方案 方法: 1.关闭家庭组. (1)搜索服务,找到“HomeGroupListener”服务,右键单击“属性”.在弹出属性界面 ...

  7. 通过代码学习python之@property,@staticmethod,@classmethod

    URL: https://www.the5fire.com/python-property-staticmethod-classmethod.html #coding=utf-8 class MyCl ...

  8. wait、notify应用场景(生产者-消费者模式)

    Java实现生产者消费者的方式有:wait && notify.BlockingQueue.Lock && Condition等 wait.notify注意事项:(1) ...

  9. zoj——3556 How Many Sets I

    How Many Sets I Time Limit: 2 Seconds      Memory Limit: 65536 KB Give a set S, |S| = n, then how ma ...

  10. Python3基础(五) 函数

    函数(function)是组织好的.可重复使用的.具有一定功能的代码段.函数能提高应用的模块性和代码的重复利用率,Python中已经提供了很多内建函数,比如print(),同时Python还允许用户自 ...