Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 休眠多个@JoinTable+@二次表重复项_Hibernate_Hibernate Mapping - Fatal编程技术网

Hibernate 休眠多个@JoinTable+@二次表重复项

Hibernate 休眠多个@JoinTable+@二次表重复项,hibernate,hibernate-mapping,Hibernate,Hibernate Mapping,我有一个类型为@manytomy和@JoinTable关联的关系 问题是,关系中的实体有自己的表,但有几个属性应该转到关联表 我认为A_C表很好 添加@SecondaryTable副本 @Entity @Table(name = "A") @SecondaryTable(name = "A_C", pkJoinColumns = { @PrimaryKeyJoinColumn(columnDefinition = "A_ID", name = "A_ID")}) class A { @M

我有一个类型为
@manytomy
@JoinTable
关联的关系

问题是,关系中的实体有自己的表,但有几个属性应该转到关联表

我认为
A_C
表很好

添加
@SecondaryTable
副本

@Entity
@Table(name = "A")
@SecondaryTable(name = "A_C", pkJoinColumns = {
@PrimaryKeyJoinColumn(columnDefinition = "A_ID", name = "A_ID")})
class A {
    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "A_B", joinColumns = {@JoinColumn(name = "A_ID")}, inverseJoinColumns = {@JoinColumn(name = "B_ID")})
    private List<B> bs = new ArrayList<B>();

    @Column(table = "A_B")
    private int b1;
}

@Entity
@Table(name = "B")
@SecondaryTable(name = "A_B", pkJoinColumns = {
@PrimaryKeyJoinColumn(columnDefinition = "B_ID", name = "B_ID")})
class B {
    @Column(table = "A_B")
    private int a1;

    @Column(table = "A_B")
    private int a2;

    @ManyToMany(mappedBy = "A_ID", fetch = FetchType.LAZY)
    private List<A> as = new ArrayList<A>();

}
应该在哪里

A_ID    B_ID   a1    a2
   1       1    1     1
使用
@embeddeble
也不起作用


ssedano.

A\U B
是表
A
B
的联接表,但您也将其用作
B
的辅助表

这不管用。如果将
B
分配给多个
a
s,则
B.a1
B.a2
应具有哪些值

有三种可能性: *a1和a2属于该协会。在这种情况下,您需要一个关联类,它存储这些附加信息。 *a1和a2只属于B:a1和a2不应在表A\U B中 *
A
B
组成:表
A\u B
B
应该合并,多对多关系被一对多关系取代

没有属性的具体名称,很难判断它们是否真正属于

A_ID    B_ID   a1    a2
   1       1    1     1