Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Java EclipseLink无法为许多人创建完整的JoinTable_Java_Jpa_Many To Many_Eclipselink - Fatal编程技术网

Java EclipseLink无法为许多人创建完整的JoinTable

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(可

我目前正在为一个项目使用EclipseLink 2.5,遇到了一个与多个关系有关的小问题:

我有一个映射的超类
可识别的
,它定义了一个复合键(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
注释。删除可更新的、可插入的也不起作用!顺便说一句:我也试着用多对一的关系来代替多对多的关系,这也没用。。。