OneToMany与@EmbeddedId和kundera [英] OneToMany with @EmbeddedId and kundera

查看:50
本文介绍了OneToMany与@EmbeddedId和kundera的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个类,并且我想将OneToMany关系与EmbeddedId一起使用(我正在使用 kundera 框架)我的传感器实体类:

I have two class and I want to use OneToMany relation with EmbeddedId (Im working with kundera framework) my sensor entity class:

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中填充空白

but how can i fill the blank in @JoinColumn

推荐答案

我找到了解决方案:要将OneToMany关系与EmbeddedId一起使用,我应该声明 JoinColumns JoinColumn

I found the solution : to use OneToMany relation with EmbeddedId, I should to declare JoinColumns and multiple of 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")
})

这篇关于OneToMany与@EmbeddedId和kundera的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆