所以,我试图创建一些记录,引用一些声明为复合键
的字典class Contact {
...
@ManyToOne
@JoinColumns({
@JoinColumn(insertable = false, updatable = false, name = "contact_type", referencedColumnName = "dict_id"),
@JoinColumn(insertable = false, updatable = false, name = "party_own_id", referencedColumnName = "dict_own_id"),
})
private ContactType contactType;
在hibernate服务中,我设置 contactType 并将其保存到数据库中
contactObject.setContactType(typeRepository.findByCode(type))
contactRepoistory.create(contactObject)
一切正常,除了hibernate 忽略 contact_type并使insert语句没有设置contact_type,但为什么呢?
作为一种解决方法,我已经制作了自定义列,并且我使用关系字段设置它...
@Column(name = "contact_type")
private String contactTypeColumn;
public void setContactType(ContactType contactType) {
this.contactType = contactType;
this.contactTypeColumn = contactType.getCode();
}
任何想法都会受到赞赏吗?