0

以下の JPA エンティティを考えると、少なくとも 1 つの成功ステータスのリクエストを持つすべてのデビットを取得したいと考えています。

同じ debit_id で異なるステータスのリクエストが多数存在する可能性があります

このようなものを使用する必要がありますか、それともより良い方法があります

entityManager.createQuery( "Debit d join d.id where request.status =Succesful から c を選択"

@Entity(name = "T_DEBIT")
public class Debit {
  public enum Status { NEW, OLD } 

  @Column(name = "STATUS", nullable = false, length = 20)
  @Enumerated(value = EnumType.STRING)
  private Status status;
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  @Column(name = "ID")
  private Long id;

  @ManyToOne(optional = false)
  @JoinColumn(name = "ACCOUNT_ID", updatable = false, nullable = false)
  private Account account;

}

そして他のエンティティは

@Entity(name = "T_REQUEST")
public class Request{  

  public enum Status { PENDING, FAILED, SUCCESFUL}  

  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  @Column(name = "ID")
  private Long id;

  @ManyToOne(optional = false)
  @JoinColumn(name = "DEBIT_ID", updatable = false, nullable = false)
  private Debit debit;

  @Column(name = "STATUS", nullable = false, length = 20)
  @Enumerated(value = EnumType.STRING)
  private Status status;

 }

質問を閉じたり反対票を投じたりするのではなく、何か不足している場合はコメントしてください!

4

1 に答える 1