JPA持有没有相关实体的实体

时间:2016-02-27 12:26:21

标签: jpa java-ee entity persistence persist

假设以下情况:

    @Entity
    ...
    public class A {
        @Id
        @Column(name="ID")
        ...
        private Long id;

        @Column(name="TEXT", length=120)
        private String text;

        @ManyToOne
        @JoinColumn(name="B_ID")
        private B b;

        ...
    }

    @Entity
    ...
    public class B {
        @Id
        @Column(name="ID")
        ...
        private Long id;

        @Column(name="TEXT", length=120)
        private String text;

        ...
    }

假设我想要将A实体与数据库中的现有B实体相关联:

如何在不持久化实体B的情况下坚持实体A?我的意思是,我想要保留A中的所有字段,但只保留A表中的B id,而不是B表中B的文本。

1 个答案:

答案 0 :(得分:1)

您会获得对现有B的引用(使用em.getReference()em.find()),并将A.b设置为此引用。然后你坚持A。