java - 具有 1 个元素的休眠 getitem 或 getlist 哪个更好?
问题描述
假设我们有一个服务类CustomService,它正在调用存储库类CustomServiceRepository。已经实现了getItemAList的方法,它在服务和存储库类中返回一个列表。
现在我需要添加 getItemA 方法(只有 A 的 1 个元素不是列表)。
哪个更好或更正确:1-只需在服务类中为其创建方法并调用相应的存储库类方法(getItemA)
2-只需在服务类中创建一个具有 1 个 A 元素的 List 并调用存储库中已经实现的方法并返回一个元素列表,所以不要触摸存储库类?
解决方案
问候,
不存在正确的方法,存在方法。一种方法是:
String HQL = "from CustomEntity where (Condition)";
Query query = EntityManager.createQuery(query);
query.setMaxResults(1);
这类似于 SQL 中的 LIMIT,也可以使用
EntityManager.find (Entity, Primary Key)
取决于您的应用程序,关于调用方法,建议在 Service 层创建一个方法并在 DAO 层实现。请记住,Service 层是业务规则层,也是 DataBase 上事务的 DAO。