jpa返回值映射_jpa – 将联结表中的值映射到实体

我有一个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;

...

注意:我无法更改数据库架构,因此联结表是不可协商的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值