У меня есть запрос ниже, который я хочу преобразовать в стандарт 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? Заранее спасибо.