如何解决表之间的@ManyToMany关系
我有三个独立的实体dish,kitchen,restaraunt
和链接表many
。
我的问题是,如何在实体类中定义此关系?
厨房模型
@Entity
@Table(name = "kitchen")
public class Kitchen {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "kitchen_name")
private String name;
@Column(name = "kitchen_photo")
private Blob photo;
}
菜式
@Entity
@Table(name = "dish")
public class Dish {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "dish_name")
private String dishName;
@Column(name = "dish_photo")
private Blob dishPhoto;
Restaraunt模型
public class Restaraunt {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "res_name")
private String name;
@Column(name = "res_rating")
private double rating;
@Column(name = "res_address")
private String address;
@Column(name = "res_number")
private String number;
@Column(name = "res_site")
private String site;
@Column(name = "res_price")
private String price;
@Column(name = "res_photo")
private Blob photo;
链接表 许多型号
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "res_id")
private long res_id;
@Column(name = "kitchen_id")
private long kitchen_id;
@Column(name = "dish_id")
private long dish_id;
@Column(name = "many_name")
private String name;
@Column(name = "many_rating")
private double rating;
@Column(name = "many_address")
private String address;
@Column(name = "namy_number")
private String number;
@Column(name = "many_site")
private String site;
@Column(name = "many_price")
private String price;
@Column(name = "many_photo")
private Blob photo;
@Column(name = "dish_name")
private String dishName;
@Column(name = "kitchen_name")
private String kitchenName;
@Column(name = "dish_photo")
private Blob dishPhoto;
@Column(name = "kitchen_photo")
private Blob kitchePhoto;
我知道如何定义两个表之间的这种关系,但是对于两个以上的表,我不确定。
我需要创建表Many
吗?
解决方法
了解到Restaurant
将有许多菜和一个Kitchen
您可以如下定义关系
@Entity
public class Restaraunt {
// all other fields
@OneToMany
private Set<Dish> dishes;
@OneToOne
private Kitchen kitchen;
}
您可以像上面一样从一侧进行映射,也可以从两侧进行定义,即从Dish
和Kitchen
进行定义-将Dish
到Restaurant
作为{{ 1}}和ManyToOne
至Kitchen
为Restaurant
我看不出拥有OneToOne
模型的任何理由。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。