hibernate复合键忽略设置字段

时间:2016-11-25 11:52:56

标签: java hibernate composite-primary-key

所以,我试图创建一些记录,引用一些声明为复合键

的字典
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();
}

任何想法都会受到赞赏吗?

0 个答案:

没有答案