【问题标题】:Issue in defining one to many mapping from one entity to another定义从一个实体到另一个实体的一对多映射的问题
【发布时间】:2018-06-08 05:23:09
【问题描述】:

假设我有 2 个表 T1 和 T2。

t1id 是表 T1 中的主键 (PK)。 T1 通过 t2id 引用 T2,它是外键(FK) T1 到 T2 是一对多的关系 架构: -------------------------------------------------- ------ T1 ( t1id (PK) , 名称 , t2id(FK)) T2 ( t2id(PK) , 作者) -------------------------------------------------- -----

有人可以帮我定义满足上述要求的实体类吗?

【问题讨论】:

    标签: postgresql jpa jakarta-ee


    【解决方案1】:

    你可以像下面这样写你的实体类

    @Entity
    @Table(name = "T1")
    public class T1Entity implements Serializable {
    
    @Id
    @Column(name="t1id")
    @SequenceGenerator(name = "t1_seq", sequenceName = "t1_seq", allocationSize = 1)
    @GeneratedValue(generator = "t1_seq", strategy = GenerationType.SEQUENCE)
    private Long t1id;
    
    @ManyToOne(fetch = FetchType.EAGER, targetEntity = T2Entity.class)
    @JoinColumn(name = "t2id", referencedColumnName = "t2id")
    private T2Entity t2;
    
    
    //getter and setter    
    }
    

    你的 T2 实体可以写成

    @Entity
    @Table(name = "T2")
    public class T2Entity implements Serializable {
    
    @Id
    @Column(name="t2id")
    @SequenceGenerator(name = "t2_seq", sequenceName = "t2_seq", allocationSize = 1)
    @GeneratedValue(generator = "t2_seq", strategy = GenerationType.SEQUENCE)
    private Long t2id;
    
    //other columns
    
    //getter and setter    
    }
    

    【讨论】:

    • 如果您愿意,可以在 t1 和 t2 实体之间添加双向关系。如果您需要这种关系,请告诉我。
    猜你喜欢
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多