是@Repository
还是@Repository("DAOname")
?
哪个合适?为什么?
和
关于DAO层中更新和删除方法的一个主要疑问! 在DAO层中使用逻辑是否安全?
我是说, 例如: DAO层@Transactional
public void deleteMethod(List list)
{
for(list)
{
deleteNamedQuery(list);
}
}
答案 0 :(得分:3)
@Repository
public class UserDAO {}
在这种情况下,如果您执行<context:component-scan base-package="your.package" />
,则bean将被命名为&#34; userDAO&#34;
@Repository("userRepository")
public class UserDAO {}
在这种情况下,将被命名为&#34; userRepository&#34;。用几句话来说两种解决方案都是合适的,取决于你如何使用它。
我建议你不要在你的DAO中添加业务逻辑来维护关注点分离。 See this link,另外
数据访问对象(DAO)是提供摘要的对象 接口到某种类型的数据库或其他持久性机制。
答案 1 :(得分:0)
服务层(将迭代逻辑投入使用)
@Override
public void deleteCheckedItems(List<Integer> selectdIdForDeletion, String userid) {
try
{
for(Integer id:selectdIdForDeletion)
{
dao.deleteMethod(id, userid); // called DAO method for delete
}
}catch(Exception e)
{
logger.info(e);
}
}
DAO Layer(删除了迭代删除逻辑)
@Transactional
public void deleteMethod(String id,String userid)
{
deleteNamedQuery(id,userid);
}