相关疑难解决方法(0)

如何在不加载JPA中的相关实体的情况下使用外键保存实体?

我有两个实体:

Account {
  @Id
  Long id;
}

Preference {
  ...
  @ManyToOne
  private Account account;
}
Run Code Online (Sandbox Code Playgroud)

保存首选项时,我有accountId,但我没有帐户实体.在这种情况下我应该如何保存偏好?

加载帐户实体并将其设置在首选项上?对我来说,这似乎是错误的数据库之旅.

是否具有可持久的accountId字段并将"帐户"字段设置为只读?同时拥有accountId字段和Account字段似乎是多余的?

使用NamedQuery来保留首选项?我希望只是一般地保存一个没有特殊逻辑的实体.

java orm jpa

15
推荐指数
1
解决办法
1769
查看次数

hibernate - 如何使用分离的子节点保存父节点

我从UI发送一个对象.将使用对现有子项的引用来创建此对象.

这是这种关系的简单说明.

class ParentEntity {
    @Id
    Long id;

    @ManyToOne(fetch = FetchType.LAZY)
    private ChildEntity child;
}

class ChildEntity {
    @Id
    Long id;
}



ChildEntity child = new ChildEntity();
child.setId(1);
//parentEntity is created based on data sent from UI
parentEntity.setChild(child);
Run Code Online (Sandbox Code Playgroud)

当我保存这个对象时,Hibernate给了我"org.hibernate.TransientPropertyValueException:object引用一个未保存的瞬态实例".

我不需要拯救孩子,因为我根本不会改变孩子.只需要在父表的表中保存孩子的id.

我试过使用很少的CascadeType,但没有一个工作.

orm hibernate jpa

4
推荐指数
1
解决办法
3389
查看次数

标签 统计

jpa ×2

orm ×2

hibernate ×1

java ×1