假设我有以下 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");
第二个查询似乎缩小了搜索范围,但我不知道它是否更快。
如果您能给我一个建议,我将不胜感激。