Folder :idとRecord :refId (名前付きパラメーター)がある場合に、 Folderに存在するレコードを取得する JPQL クエリを作成するにはどうすればよいでしょうか。必要なレコードの一部である他のデータがあるため、レコードをクエリから返したいと思います。
エンティティは次のとおりです。
@Entity
public class Folder {
@Id
@Column(name = "id")
private Long id;
@OneToMany(targetEntity = Record.class, cascade = { CascadeType.ALL })
@JoinColumn(name = "RECORD_FOLDER_0")
@OrderBy("id ASC")
private List<Record> records;
...
}
@Entity
public class Record {
@Id
@Column(name = "id")
private Long id;
@Basic
@Column(name = "refId")
private Long refId;
@Basic
@Column(name = "data", length = 255)
private String data;
...
}
通常の SQL は次のようになります。
.createNativeQuery(String.format("SELECT * FROM record r WHERE r.refId=%d AND r.RECORD_FOLDER_0=%d", refId, folderId));
JPQLクエリを使用してこれを行う方法に苦労しています。