Java EclipseLink无法为许多人创建完整的JoinTable
我目前正在为一个项目使用EclipseLink 2.5,遇到了一个与多个关系有关的小问题: 我有一个映射的超类Java EclipseLink无法为许多人创建完整的JoinTable,java,jpa,many-to-many,eclipselink,Java,Jpa,Many To Many,Eclipselink,我目前正在为一个项目使用EclipseLink 2.5,遇到了一个与多个关系有关的小问题: 我有一个映射的超类可识别的,它定义了一个复合键(uuid,revision)。两个实体类约会和内容都是可识别的子类 现在,我尝试定义一个从约会到内容的单向多人关系,但EclipseLink似乎没有正确创建连接表。其中只有两列(uuid,revision),但应该有四列(关系的每一侧各有一个uuid和revision) 欲望但并非最不重要的是,代码: @MappedSuperclass @IdClass(可
可识别的,它定义了一个复合键(uuid,revision)。两个实体类约会
和内容
都是可识别
的子类
现在,我尝试定义一个从约会
到内容
的单向多人关系,但EclipseLink似乎没有正确创建连接表。其中只有两列(uuid,revision),但应该有四列(关系的每一侧各有一个uuid和revision)
欲望但并非最不重要的是,代码:
@MappedSuperclass
@IdClass(可识别的PK.class)
可识别的公共抽象类实现可序列化{
@身份证
@UuidGenerator(name=“uuid”)
@GeneratedValue(generator=“uuid”)
受保护字符串uuid;
@身份证
受保护的整数修订;
/* ... */
}
公共课堂预约{
@连接柱({
@JoinColumn(columnDefinition=“trainingcontent\u uuid”,referencedColumnName=“uuid”,nullable=false,updateable=false,insertable=false),
@JoinColumn(columnDefinition=“trainingcontent\u revision”,referencedColumnName=“revision”,nullable=false,Updateable=false,insertable=false)
})
@ManyToMany(fetch=FetchType.LAZY)
受保护的培训内容清单;
/* ... */
}
公共类培训内容扩展{
/* ... */
}
我还尝试使用@JoinTable
而不是@JoinColumns
,但是EclipseLink抱怨缺少了不完整的@JoinColumns
注释,这对于具有复合键的目标实体是必要的
我做错什么了吗
您好,
chert对于许多人,必须使用@JoinTable到@jointColumns,源和目标连接列在@JoinTable中指定
您的@JoinColumn不能有“updateable=false,insertable=false”,这没有任何意义,因为这样它就无法插入任何内容,而这似乎就是正在发生的事情
看,,
对于许多人,必须使用@JoinTable到@jointColumns,源连接列和目标连接列在@JoinTable中指定
您的@JoinColumn不能有“updateable=false,insertable=false”,这没有任何意义,因为这样它就无法插入任何内容,而这似乎就是正在发生的事情
看,,
如上所述,我已经尝试使用@JoinTable
(joinColumns+inverseJoinColumns)代替@joinColumns
,但EclipseLink抱怨缺少@joinColumns
注释。删除可更新的、可插入的也不起作用!顺便说一句:我还试图用多对一关系替换多对多关系,这也不起作用……正如我前面提到的,我已经尝试使用@JoinTable
(joinColumns+inverseJoinColumns)而不是@joinColumns
,但EclipseLink抱怨缺少@joinColumns
注释。删除可更新的、可插入的也不起作用!顺便说一句:我也试着用多对一的关系来代替多对多的关系,这也没用。。。