【问题标题】:JPA ignore mapping row by column valueJPA忽略逐列值映射
【发布时间】:2015-10-02 09:19:25
【问题描述】:

我正在制作一个基于JPA/Eclipselink 和实体的应用程序,删除操作必须符合逻辑(属性/列真或假)才能在数据库中保留日志。我想知道是否可以忽略在 OneToMany 或 ManyToMany 关系中“已删除”为“真”的数据库行。我有类似于以下的实体:

@Entity
public class Employee {
  @Id
  @Column(name="EMP_ID")
  private long id;
  ...
  @OneToMany(mappedBy="owner")
  private List<Phone> phones;
  ...
}

@Entity
public class Phone {
  @Id
  private long id;

  @NotNull
  @Column(name = "deleted")
  private boolean deleted = false;
  ...
  @ManyToOne(fetch=FetchType.LAZY)
  @JoinColumn(name="OWNER_ID")
  private Employee owner;
  ...
}

提前致谢!

【问题讨论】:

    标签: java jpa orm entity eclipselink


    【解决方案1】:

    是的,您可以为此目的使用@AdditionalCriteria

    @AdditionalCriteria("this.deleted = false")
    

    【讨论】:

      猜你喜欢
      • 2020-11-25
      • 1970-01-01
      • 2018-07-12
      • 2013-12-26
      • 2020-01-11
      • 1970-01-01
      • 2017-09-30
      • 1970-01-01
      • 2023-01-26
      相关资源
      最近更新 更多