Ожидаемый путь для соединения для отношения OneToMany в JPA - PullRequest
0 голосов
/ 13 января 2020

У меня есть запрос ниже, который я хочу преобразовать в стандарт JPA. Я столкнулся с проблемой при добавлении пути от учетной записи к классу SubAccountRel.

 public interface AccountRepo  extends JpaRepository<Account, Integer> {

  @Query(value = "select * from C_ACCOUNT account 
                 join SubAccountRel rel on rel.sSubAccountId=account.accountSrcId 
                 where account.active = 1 and account.accountId = ?1", nativeQuery=true)
  List<Account> getAccountsByAccountId(String accountId);

  // I want to have a non native query for the above one
}

Ниже приведены классы сущностей

 @Entity
 @Table(name = "C_ACCOUNT")
 public class Account implements Serializable {

  @Id
  @GeneratedValue
  @Column(name = "accountId")
  private String accountId;

  @OneToMany(mappedBy = "account")
  @Where(clause = "REL_TP='has external customer' AND HUB_STATE_IND=1")
  private List<SubAccountRel> subAccountRelList;

  @Column(name = "PKEY_SRC_OBJECT")
  private String accountSrcId;

  @Column(name = "active")
  private Integer active;

 // getters and setters

}

 @Entity
 @Table(name = "C_PTY_REL_XREF")
 public class SubAccountRel {

  @Id
  @GeneratedValue
  @Column(name = "ROWID_XREF")
  private String subAccountRelId;

  @ManyToOne
  @JoinColumn(name = "PTY_ID_2", referencedColumnName = "ROWID_XREF", insertable = false, updatable = false)
  private Account account;

  @ManyToOne
  @JoinColumn(name = "PTY_ID_1", referencedColumnName = "ROWID_XREF", insertable = false, updatable = false)
  private SubAccount subAccount;

  @Column(name = "S_PTY_ID_2")
  private String sSubAccountId;

  // getters and setters
}

Как записать сопоставление списков OneToMany в стандарт JPA? Заранее спасибо.

...