表1:电脑 table
@Entity
@Table ("computer")
public class Computer{
private int id;
.
}
表 2:许可证表:
@Entity
@Table ("licenses")
public class Licnese{
private int id;
.
}
表 3:待创建。这是中级,应该只有两个字段
计算机 ID |许可证ID
许可证 ID 可以链接到多个计算机 ID,多个计算机 ID 可以拥有多个许可证。
CompID | LicneseID
1|2
1|2
2|2
在我们的例子中,计算机和许可证数据已经存在。我们运行一个作业来填充中间表,即选择计算机 ID,从其余服务下载 lincense id,在现有数据库中查找许可证并在中间表中创建记录。
应该怎样做?
独立插入或
中级{ 私有(private) int 复合体 私有(private) int liceid }
但是在此主键是必需的,而客户不想要。
- 使用计算机或许可证实体进行更新(如果是)那么如何更新?
我知道我们需要在计算机实体中使用 ElementCollection,但如何引用许可证 ID?
@ElementCollection(targetClass = Intermediate.class)
@CollectionTable(name = "Intermediate", joinColumns = @JoinColumn(name = "ID"))
@AttributeOverrides({
@AttributeOverride(name = "license ID",column = @Column(name = "License ID")),
private List<Intermediate> intermediate;
在这种情况下我们还需要合并计算机实体吗?
最佳答案
根据描述,您想要使用 Hibernate 连接表方法。如何实现联表的方法可以引用下面的链接:http://fruzenshtein.com/hibernate-join-table-intermediary/
关于java - 如何在 Hibernate/JPA 中的两个表之间创建中间表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59657243/