0

好的,我正在使用 spring MVC 3.0,我正在添加一个日志实体,如下所示

@RooJavaBean
@RooToString
@RooEntity
public class Log {

    @NotNull
    @Size(max = 1000)
    private String logMessage;

    @NotNull
    @ManyToOne
    private Staff staff;

    @NotNull
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "M-")
    private Calendar dateAndTime;

    @NotNull
    private Class owningClass;
}

我正在查看本指南以寻求帮助。问题是我如何使用类对象,比如说学生,找到一个 id 为 10 或 20 的特定学生,......我在想这样的事情

Class c = Class.forName("My.Domain.Student"); //gives the bsae class

这是我不知道该怎么做的地方。我想要类似的东西

Student student = c.find(10);

我怎样才能完成这样的事情?

4

1 回答 1

0

我相信(我目前手头没有 Roo 项目,我正在使用 Manning Spring Roo In Action 书籍作为参考)您可以检查 Spring ROO ActiveRecord 模式实施类的内容,并查看 ID 的位置是通过实体管理器查找:

public static Course Course.findCourse(Long id) {
  if (id == null) return null;
  return entityManager().find(Course.class, id);
}

如您所见,您可以将您喜欢的任何实体类引用传递给实体管理器,以根据类和 id 进行查找。

所以你基本上需要获取对 EntityManager 的引用并调用它的 find() 方法。

于 2012-09-06T16:01:35.927 回答