Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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 如何将多对多联接表的附加列映射到关联映射键?_Java_Hibernate - Fatal编程技术网

Java 如何将多对多联接表的附加列映射到关联映射键?

Java 如何将多对多联接表的附加列映射到关联映射键?,java,hibernate,Java,Hibernate,存在一个实体调用版本,该实体具有内部连接多对多关系。桥接表veru-EQUIVALENTS有[veru-ID,EQUIVALENT-veru-ID,CODE]列,CODE列包含等效版本的代码 这就是我实现这种关系的方式 公共类版本{ 私有字符串码; @ManyToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL) @可接合( name=“VER_等价物”, joinColumns={@JoinColumn(name=“VER_ID”)}, inv

存在一个实体调用版本,该实体具有内部连接多对多关系。桥接表veru-EQUIVALENTS有[veru-ID,EQUIVALENT-veru-ID,CODE]列,CODE列包含等效版本的代码

这就是我实现这种关系的方式

公共类版本{
私有字符串码;
@ManyToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@可接合(
name=“VER_等价物”,
joinColumns={@JoinColumn(name=“VER_ID”)},
inverseJoinColumns={@JoinColumn(name=“equality\u VER\u ID”)}
)
@MapKey(name=“code”)
@org.hibernate.annotations.Cache(用法=cacheconcurrentystrategy.TRANSACTIONAL)
私有映射等价版本=新HashMap();
}
这是我在尝试插入包含等效版本的版本时得到的结果

ORA-01400: cannot insert NULL into ("VER_EQUIVALENTS"."CODE")  

如何设置代码值?

如果我正确理解您的需要,您应该按照以下方式更正映射:

公共类版本{
// ...
@ManyToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@可接合(
name=“VER_等价物”,
joinColumns={@JoinColumn(name=“VER_ID”)},
inverseJoinColumns={@JoinColumn(name=“equality\u VER\u ID”)}
)
@MapKeyColumn(name=“CODE”)
私有映射等价版本=新HashMap();
}