she*_*tem 4 java hibernate jpa
在使用 JPA 2.1 和 Hibernate 的 Spring Boot 应用程序中,有两个感兴趣的 (PostgreSQL) 表:
实体外部_id -- -- 序列号 序列号 序列号 ...实体_id int ... external_id int
实体和 external_ids 之间的关系显然是 OneToMany,我也想在 JPA 映射中使用它。执行此操作的一个简单方法是为每个表创建 @Entity-mappings 并使用 @OneToMany-relation:
@Entity
public class Entity {
@Id
private Integer id;
@OneToMany(mappedBy= "entityId")
private Set<ExternalId> externalIds;
}
@Entity
public class ExternalId {
@Id
private Integer id;
@ManyToOne
private Integer entityId;
private Integer externalId;
}
Run Code Online (Sandbox Code Playgroud)
但由于表 external_ids 仅保存实体每个成员的数字列表,因此我不想对表 external_id 进行显式映射,而是立即映射 external_id.external_id 的值:
@Entity
public class Entity {
@Id
private Integer id;
@OneToMany(???)
private Set<Integer> externalIds;
}
Run Code Online (Sandbox Code Playgroud)
JPA 2.1 是否可以实现这一点?如果可以,如何实现?
@ElementCollection您可以为此目的使用:
@ElementCollection
@CollectionTable(name = "TableName", joinColumns=@JoinColumn(name = "JoinColumnName"))
private Set<Integer> externalIds;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1949 次 |
| 最近记录: |