我正在使用Spring Roo开发小型Web应用程序。我使用finder命令添加了一些finder API。使用Push-in移除Roo之后,生成的代码将在模型类中

public static TypedQuery<Task> findTasksByAssignedTo(Employee assignedTo) {
    if (assignedTo == null) throw new IllegalArgumentException("The assignedTo argument is required");
    EntityManager em = Task.entityManager();
    TypedQuery<Task> q = em.createQuery("SELECT o FROM Task AS o WHERE o.assignedTo = :assignedTo", Task.class);
    q.setParameter("assignedTo", assignedTo);
    return q;
}


Roo为什么不仅仅在Repository接口中生成findBy方法?还是支持我不知道的类似东西?

最佳答案

因为默认情况下Roo使用Active Record Pattern而不使用DAO。

活动记录模式:


  一个在数据库表或视图中包装一行,封装数据库访问并在该数据上添加域逻辑的对象。”

10-05 21:13