次の 2 つのエンティティがあるとします。
@Entity
public class Person implements Serializable {
private Long id;
@OneToMany(fetch=FetchType.LAZY)
private List<House> houses;
}
@Entity
public class House implements Serializable {
private Long id;
private List<House> houses;
}
私が探している家が存在し、 と の両方を持っているpersonID
とhouseID
します。次のうち、どちらがより速く、またはリソースのコストが少なくて済みますか?その理由は?
House house = em.find(House.class, id);
また
Query q = em.createQuery("SELECT H FROM Person P JOIN P.houses H
WHERE C.id = :personID AND H.id = :houseID");
2番目のクエリは検索を絞り込むようですが、高速かどうかはわかりませんでした。
アドバイスをいただければ大変助かります。