【发布时间】:2020-05-02 06:37:13
【问题描述】:
我是 Hibernate 的新手。我正在研究以下两个实体:
实体1如下:
@Entity
@Table(name = "vm_user")
public class VmUser implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "created_by")
private String createdBy;
@Column(name = "last_modified_by")
private String lastModifiedBy;
@Column(name = "created_date")
private Instant createdDate;
@Column(name = "last_modified_date")
private Instant lastModifiedDate;
@OneToOne
@JoinColumn(unique = true)
private User user; <--- HOW WILL I DENOTE THIS PRIMARY KEY OF VMUSER ENTITY ?
在mysql的关联表中,即vm_user,user_id既是主键也是外键,指的是与User实体关联的user表的id。
实体2如下:
@Entity
@Table(name = "my_entity")
public class MyEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "created_by")
private String createdBy;
@Column(name = "last_modified_by")
private String lastModifiedBy;
@Column(name = "created_date")
private Instant createdDate;
@Column(name = "last_modified_date")
private Instant lastModifiedDate;
@ManyToOne
private A a;
@OneToOne
@JoinColumn(unique = true)
private B b;
在mysql的关联表my_entity中,主键是id of a和id of b的组合。我不知道如何在 Hibernate 实体 MyEntity 中表示这一点。
关于同样的,我已经浏览了一些帖子:Hibernate foreign key as part of primary key 和 JPA & Hibernate - Composite primary key with foreign key,但不知道如何做到这两个?
【问题讨论】:
-
还显示您的用户实体.. 用户主键是 int 还是 string?
-
@GolamMazidSajib,id 是与用户休眠实体关联的用户表整数类型的主键。