这个优秀的问题和答案定义了何时EntityManager#find
v. #getReference
与answer一起使用。
这个问题阐述了获取,然后更新对象的行为。
但是,我只对确定我的javax.persistence.Entity
是否存在特定ID感兴趣。
EntityManager#getReference
比EntityManager#find
更有效吗?
我正在寻找轻量级方法来查找给定实体是否存在id
。
答案 0 :(得分:0)
为此编写自己的实用程序类,使用如下查询:
SELECT id FROM EntityClass where id= ?
然后只需致电query.getSingleResult()
尝试/抓住NoResultException
,无法获得结果(或query.getResultList()
并检查count()
)。
仅选择ID可确保从DB获取所需的最少数据,而不是使用其相关实体完全获取实体。