如何在Hibernate中使用非主键映射@manytone关联?

如何在Hibernate中使用非主键映射@manytone关联?,hibernate,associations,many-to-one,naturalid,Hibernate,Associations,Many To One,Naturalid,如何在Hibernate中使用非主键映射@manytone关联? 我可以使用@naturaid注释,但有一个错误: A Foreign key refering POJO.Question from POJO.Answer has the wrong number of column. should be 4 问题类(具有多个主键): @实体 @表(name=“[dbo].[Question]”) 公共类问题实现了可序列化{ @列(name=“[Id]”,unique=true,nullabl

如何在Hibernate中使用非主键映射
@manytone
关联? 我可以使用
@naturaid
注释,但有一个错误:

A Foreign key refering POJO.Question from POJO.Answer has the wrong number of column. should be 4
问题类(具有多个主键):

@实体
@表(name=“[dbo].[Question]”)
公共类问题实现了可序列化{
@列(name=“[Id]”,unique=true,nullable=false)
@GeneratedValue(策略=GenerationType.IDENTITY)
@归化
私有整数id;
@嵌入ID
私人问题可嵌入问题可嵌入;
}
主键

公共类QuestionEmbeddeble实现可序列化{
@列(名称=“[Development Template Id]”)
私有int-templateId;
//Sekcja w templejcie
@列(名称=“[Section]”)
私有整数部分;
//西克奇数
@列(名称=“[Number]”)
私有整数;
//Wersja
@列(名称=“[Version]”)
私有整数版本;
}
答案类别:

@实体
@表(name=“[dbo].[Answer]”)
公共类应答实现可序列化{
@身份证
@列(name=“[Id]”,unique=true,nullable=false)
@GeneratedValue(策略=GenerationType.IDENTITY)
私有整数id;
@JoinColumn(name=“[Question Id]”)
@manytone(fetch=FetchType.LAZY)
私人问题;

看起来关联仍然是
@EmbeddedId
而不是
@Naturalid
。我不知道为什么?

这是答案,必须使用referencedColumnName

@ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(
        name = "[Question Id]", referencedColumnName = "[Id]"
    )
    private Question question;

它的副本不是,我没有像在一个例子中那样创建与Embedded的关联。我希望创建它时不使用主键标记@naturaid