1対多の関係で結合された2つのテーブルがあるとしましょう
public class Slave
{
@Id
@Column(name = "id")
long id;
@JoinColumn(name = "master", referencedColumnName = "id")
Master master;
}
public class Master
{
@Id
@Column(name = "id")
long id;
@OneToMany(mappedBy = "master", targetEntity = Slave.class)
Collection<Slave> slaves;
}
CriteriaQuery を作成して、既知の ID を持つマスターのすべてのスレーブを選択することは可能ですか? 次のような SQL を生成するには:
SELECT * FROM slave s WHERE s.master=XXX;
CriteriaQuery
このような「ネイティブクエリ」だけではないはずです
_entityManager.createNativeQuery( "SELECT s FROM master s WHERE s.master = ?1" );
query.setParameter( 1, XXX );
前もって感謝します