最初,我在服务层中拥有所有DAO。但是要以正确的方式进行单独的DAO层,但我对DAO中的哪些内容以及服务层中的哪些内容感到困惑
我在服务层
中有这个功能public void confirmUser(String id)
{
logger.debug("Confirming existing person");
Session session = sessionFactory.getCurrentSession();
String query = "FROM Registration WHERE uuid=:myuuid";
Query query2 = session.createQuery(query);
query2.setString("myuuid",id);
Registration person = (Registration) query2.uniqueResult();
person.setConfirmed(true);
session.save(person);
}
现在我想问一下,这个功能是否与DAO功能一样,或者某些内容也将保留在服务层中
答案 0 :(得分:2)
通常,您的DAO将执行存储和检索实体的工作,而您的服务将执行业务逻辑。
因此confirmUser(id)将在服务上,并将对用户进行setConfirmed(..)调用。
根据您的需要,DAO会有getUserById(id)和saveOrUpdateUser(User) - 或其他影响因素。