• @manyToOne.@oneToMany


    @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形成呼应。

  • 相关阅读:
    使用weave管理docker网络
    为docker配置固定ip
    Building good docker images
    使用curl命令获取文件下载速度
    吐槽Java
    Kubernetes 中的服务发现与负载均衡(转)
    Kubernetes系列之介绍篇(转)
    top命令中的wa指标(转)
    uwsgi常用参数详解(转)
    Unix域套接字-Unix Domain Socket(转)
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/4332364.html
Copyright © 2020-2023  润新知