概述
我有一个USER表和一个COURSE表.用户可以拥有许多课程,并且有很多用户.联结表包含一个ROLE值,用于确定用户在COURSE(即教师,学生等)中的角色.我需要知道如何将此角色与每个USER的COURSE相关联.
如果我将该角色放在Course类中,它就无法工作,因为一个Course有很多用户,反之亦然.
这是我到目前为止所拥有的:
@Entity
@Table(name = "USERS")
public class User {
@Id
@Column(name = "PK1")
private Long id;
@Column(name = "USER_ID")
private String userId;
@ManyToMany
@JoinTable(name = "COURSE_USERS",
joinColumns = @JoinColumn(name = "USERS_PK1", referencedColumnName = "PK1"),
inverseJoinColumns = @JoinColumn(name = "CRSMAIN_PK1", referencedColumnName = "PK1"))
private Collection courses;
...
@Entity
@Table(name = "COURSE")
@SecondaryTable(name = "COURSE_USERS",
pkJoinColumns = @PrimaryKeyJoinColumn(name = "CRSMAIN_PK1"))
public class Course {
@Id
@Column(name = "PK1")
private Long id;
// THIS PROBABLY WON'T WORK //
@Column(name = "ROLE", table = "COURSE_USERS")
private Character role;
@Column(name = "AVAILABLE_IND")
private boolean available;
@Column(name = "COURSE_NAME")
private String name;
@Transient
private String url;
...
注意:我无法更改数据库架构,因此联结表是不可协商的.
最后
以上就是迅速灰狼为你收集整理的jpa返回值映射_jpa – 将联结表中的值映射到实体的全部内容,希望文章能够帮你解决jpa返回值映射_jpa – 将联结表中的值映射到实体所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复