@ManyToOne注解的这端,是多端

1.在注释@ManyToOne(cascade=CascadeType.REFRESH,optional=true)中将属性optional设置为true,这可以使得即使外键为空时仍可以向表中添加数据。

2.假设Person和Book是一对多的关系,其中Person的成员变量为:

private Integer personId;  //此属性与:@ManyToOne(cascade=CascadeType.REFRESH,optional=true)@JoinColumn(name="personId") 对应

private String name;

private Short age;

private List<Book> bookList=new ArrayList<Book>();

对应在MySql中表的结构为:

Person(personId,name,age),不必有bookList一项,在getBookList上方通过注释:@OneToMany(mappedBy="person",cascade=CascadeType.ALL)

@OrderBy(value="bookId ASC")

与Book关系形成一对多的关系。Book的成员变量是:

private int bookId;

private String title;

private double price;

private Person person;   //此属性与:@OneToMany(mappedBy="person"  中的person对应

对应在MySql中表的结构为:Book(bookId,title,price,personId),注意要有Person表的主键personId,这样在插入记录时才不会产生异常。在getPerson上方有注释:

@ManyToOne(cascade=CascadeType.REFRESH,optional=true)

@JoinColumn(name="personId")

与@OneToMany形成呼应。

最新文章

  1. 从零开始编写自己的C#框架(13)——T4模板在逻辑层中的应用(二)
  2. [LeetCode] Contains Duplicate III 包含重复值之三
  3. 【原创】自己动手写工具----签到器[Beta 1.0]
  4. Socket聊天室-TcpListener,TcpClient
  5. Linux 关机命令
  6. 服务器列表里找不到OracleOraDb10g_home1TNSListener
  7. WebService到底是什?
  8. C# 操作Word知识汇总
  9. 將後台的Json數據返回到前台
  10. BackgroundWorker的使用
  11. C#字符串题目
  12. MyBatis学习笔记(四) 注解
  13. Python面向对象3
  14. 文档PDF开放
  15. 如何运行一个Vue项目
  16. mybatis-generator 自动生成查询Vo
  17. vue2.0 源码解读(一)
  18. 下载EU台网(欧洲台网)的地震波数据
  19. Python设计模式 - 基础 - 类/接口之间的六种关系
  20. 【1】【JUC】JDK1.8源码分析之ArrayBlockingQueue,LinkedBlockingQueue

热门文章

  1. Filter学习(三)Filter(过滤器)常见应用
  2. .NET/C# 使窗口永不获得焦点
  3. UWP 流畅设计中的光照效果(容易的 RevealBorderBrush 和不那么容易的 RevealBackgroundBrush)
  4. 异步任务中的重新进入(Reentrancy)
  5. python 抓取网页一部分
  6. 使用npm install报错- operation not permitted解决
  7. SSH远程登录CentOS服务器
  8. 使用JDK合成照片
  9. java代码--------编写0懂啊PI之间求随机数的方法
  10. java代码FileInputStream的复制粘贴练习