在我的Sping Boot 项目中,我有几个同时用@Id和@NaturalId注解标记的实体。我已经创建了一个自定义的NaturalIdRepository,如this one。下面是我的仓库中的一个方法:
@Override
public T findBySimpleNaturalId(Class<T> clazz, Object naturalId) {
return entityManager
.unwrap(Session.class)
.bySimpleNaturalId(clazz)
.load(naturalId);
}
为了优化性能,我希望在存储库中添加一个新方法,该方法可以使用naturalId仅检索ID,而无需将整个对象加载到会话中。您能否就如何实现这一目标提供一些指导或建议?
谢谢
1条答案
按热度按时间uemypmqf1#
不要认为
Session
上有任何内置方法可以开箱即用。最好的办法是为此编写一个JPQL。Something like: