我有两个类,我想在EmbeddedId中使用EmbeddedId关系(我使用kundera框架),我的传感器实体类:
public class SensorEntitie implements Serializable {
@EmbeddedId
private CompoundKey key;
@Column
private float temperature;
@Column
private float pressure;
@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
@JoinColumn(name="what I should to put here")
private List<PieceEntitie> pieces;
}
@Embeddable
public class CompoundKey
{
@Column
private String IdSensor;
@Column
private long date;
@Column(name = "event_time")
private long eventTime;我的作品类实体
public class PieceEntitie implements Serializable{
/**
*
*/
@Id
private String IdPiece;
@Column
private double width;
@Column
private double height;
@Column
private double depth;但是我怎样才能填补@JoinColumn中的空白呢?
发布于 2016-05-16 15:40:18
我找到了解决方案:要将OneToMany关系与EmbeddedId结合使用,我应该声明JoinColumns和JoinColumn的多重
@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
@JoinColumns({
@JoinColumn(name = "idsensor", referencedColumnName = "idsensor"),
@JoinColumn(name = "date", referencedColumnName = "date"),
@JoinColumn(name = "event_time", referencedColumnName = "event_time")
})发布于 2016-05-11 12:19:24
您需要执行以下步骤来修复问题
@OneToMany(mappedBy = "pieceEntitie",级联= CascadeType.ALL,fetch=FetchType.EAGER)
public Set<PieceEntitie> getPieceEntitie() {
return pieceEntitie;
}https://stackoverflow.com/questions/37162156
复制相似问题