Java 如何将多对多联接表的附加列映射到关联映射键?
存在一个实体调用版本,该实体具有内部连接多对多关系。桥接表veru-EQUIVALENTS有[veru-ID,EQUIVALENT-veru-ID,CODE]列,CODE列包含等效版本的代码 这就是我实现这种关系的方式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
公共类版本{
私有字符串码;
@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();
}