Hibernate中是否有方便快捷的方法,我可以通过提供该行的主Id来检查数据库表中是否存在行。
我不想拉对象,因为其他一些表与它相关联,并且加载该记录对象导致了非常繁重的查询,我不希望进行简单的布尔检查。因此,寻找一种简单快速的方法来检查具有给定Id的行是否存在
答案 0 :(得分:0)
据我所知,你必须打到数据库才能做到你想要的。如果您已打开缓存,如果您要查找的对象存在于缓存中,Hibernate可能会避免访问数据库。但这是你无法确定的。表可能有该行,但尚未提取到缓存。因此有必要点击数据库。
一旦你进入数据库,你可以做的下一个最好的事情就是不要获取整个对象及其所有相关对象,依此类推。您可以通过多种方式执行此操作 - (1)创建仅包含所需列的最小实体 - 在这种情况下,id列可能就是您需要获取的所有内容。 (2)触发只获取所需列的查询。