首页 > 解决方案 > 具有 1 个元素的休眠 getitem 或 getlist 哪个更好?

问题描述

假设我们有一个服务类CustomService,它正在调用存储库类CustomServiceRepository。已经实现了getItemAList的方法,它在服务和存储库类中返回一个列表。

现在我需要添加 getItemA 方法(只有 A 的 1 个元素不是列表)。

哪个更好或更正确:1-只需在服务类中为其创建方法并调用相应的存储库类方法(getItemA

2-只需在服务类中创建一个具有 1 个 A 元素的 List 并调用存储库中已经实现的方法并返回一个元素列表,所以不要触摸存储库类?

标签: javaspringhibernatemodel-view-controllerrepository

解决方案


问候,

不存在正确的方法,存在方法。一种方法是:

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。


推荐阅读