复合键类关系→错误:未映射到单个属性

时间:2015-04-09 13:34:02

标签: java hibernate jpa

CVariacaoTO类有一个复合键(FK_T,FK_F,FK_F_VARIACAO)。 (FK_F,FK_F_VARIACAO)也是FVariacaoTO表的外键,处于ManyToOne关系中。

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
    @JoinColumn(name = "FK_F", referencedColumnName = "FK_F", nullable = false, insertable = false, updatable = false),
    @JoinColumn(name = "FK_F_V", referencedColumnName = "ID", nullable = false, insertable = false, updatable = false) })
@NotNull
private FVariacaoTO fVariacaoTO;

FVariacaoTO类有两个主键,分别为@Embeddable类FVariacaoPK。

此错误发生了:CVariacaoTO.fVariacaoTO的referencedColumnNames(FK_F,ID)未映射到单个属性

关系刚刚在CVariacaoTO类中描述。 我不知道是否需要在FVariacaoTO类中写一些关于关系的东西,制作@OneToMany或类似的东西。

通常做了什么错误? 通常这种关系是怎么做的?


编辑:其他信息。

在FVariacaoTO类中,键为@EmbeddedId:

@EmbeddedId @AttributeOverrides({ @AttributeOverride(name = "fkF", column = @Column(name = "fkF", nullable = false)), @AttributeOverride(name = "id", column = @Column(name = "id", nullable = false)) }) @NotNull private FVariacaoPK fVariacaoPK;

在FVariacaoPK类中,有@EmbeddedId:

@Column(name = "FK_F", nullable = false) private int fkF; @Column(name = "ID", nullable = false) private int id;

1 个答案:

答案 0 :(得分:0)

尚未运行该应用程序,因为还有其他问题需要解决,但是下一步编译器不再抱怨此问题:

@JoinColumn(name = "FK_F", referencedColumnName = "fkF", nullable = false, insertable = false, updatable = false), @JoinColumn(name = "FK_F_V", referencedColumnName = "id", nullable = false, insertable = false, updatable = false)

我在referencedColumnName中设置了FVariacaoTO中的字段名称,而不是FVariacaoPK中的@Embedabble对象