0

わかりました。SpringMVC3.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;
}

私は助けを求めてこのガイドを見ています。問題は、たとえばStudentのクラスオブジェクトを使用して、IDが10または20の特定の学生を見つける方法です...私はこのようなことを考えていました

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

これは私が何をすべきかわからないところです。こんなもの欲しい

Student student = c.find(10);

どうすればこのようなことを達成できますか?

4

1 に答える 1

0

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 に答える