【发布时间】:2014-08-22 17:04:27
【问题描述】:
我有两个具有多对多关系的表,它们具有如下所示的 JoinTable USER_SERVICES。
@Entity
public class User implements Serializable {
@NotNull
@Column(unique=true)
private String username;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
name = "USER_SERVICES",
joinColumns = {@JoinColumn(name = "id", referencedColumnName = "id")},
inverseJoinColumns = {@JoinColumn(name = "", referencedColumnName = "name")})
private Set<Services> services;
// Getters and Setters
}
@Entity
public class Services implements Serializable {
@NotNull
@GeneratedValue(strategy = GenerationType.AUTO)
@Id
private Long serviceId;
@NotNull
@Column(unique=true)
private String name;
//Getters and Setters
}
上面的代码创建了一个表 USER_SERVICES,但我还想在表 USER_SERVICES 上与另一个表 RATINGS 建立多对多关系,这将导致另一个表 USER_SERVICES_RATINGS。如何使用 Hibernate/JPA 注释定义这种关系?
【问题讨论】:
-
您可能会发现 my tutorial 在带有注释的 Hibernate 映射上很有帮助。
-
谢谢@JamesMassey,按照您的教程,我能够解决我的问题。如果您还可以在 CascadeType 上为 manytomany 添加更多代码,那就太好了。如果您可以在这里复制粘贴您的教程中的代码,我会接受您的回答。
-
如果你觉得有帮助别忘了点赞:P
标签: java hibernate jakarta-ee jpa hibernate-mapping