【发布时间】:2014-07-02 08:26:43
【问题描述】:
我正在尝试通过 JPA 使用 Hibernate 来持久化引用 B 对象的实体 A。
在我看来,我创建了一个包含 B 个条目的组合框的表单。当我处理用户的输入时,我为 A 元素创建了一个新的 DTO,并将 B DTO 分配为其相关实体。
然后我将这个对象发送到我的服务层,在那里我调用我的 dao 来持久化我的 A 实体:
dao.persist(A);
但我得到以下异常:
Error org.hibernate.TransientPropertyValueException: object references an unsaved transient instance
如果我用cascade=CascadeType.ALL 注释我的实体,那么我会在数据库中插入一个新的 B 实体。
我该怎么做才能使我的 A 实体仅由 B 的外键持久化?也就是说,只有外键被插入到数据库中(因为 B 是主表,我不需要插入元素)。
【问题讨论】: