功能的哪一部分应该放在DAO层中,哪部分放在服务层中

时间:2011-03-22 02:28:20

标签: java hibernate spring

最初,我在服务层中拥有所有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功能一样,或者某些内容也将保留在服务层中

1 个答案:

答案 0 :(得分:2)

通常,您的DAO将执行存储和检索实体的工作,而您的服务将执行业务逻辑。

因此confirmUser(id)将在服务上,并将对用户进行setConfirmed(..)调用。

根据您的需要,DAO会有getUserById(id)和saveOrUpdateUser(User) - 或其他影响因素。

相关问题