【发布时间】:2015-04-09 13:34:01
【问题描述】:
CVariacaoTO 类有一个复合键(FK_T、FK_F、FK_F_VARIACAO)。 (FK_F, FK_F_VARIACAO) 也是 FVariacaoTO 表的外键,在多对一关系中。
@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类中,key为@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;
【问题讨论】: