私はPlay!フレームワークを使用してプロジェクトを進めており、JPAに関するいくつかの問題を抱えています。それは私のリストを保存しないか、DBからそれを検索することができないようです。私は以下の通りであるコンストラクタ別のクラス、ModelManagerを、持っているPlayFrameworkとJPAを使用してリスト<Long>を発行する
@Entity
public class User extends Model {
public String login;
public String password;
public String name;
public String email;
@ElementCollection
public List<Long> eventStreamIds;
@Transient
UserEventBuffer eventBuffer;
public User(String login, String password, String name, String email, ArrayList<Long> eventStreamIds) {
this.login = login;
this.password = password;
this.name = name;
this.email = email;
this.eventStreamIds = eventStreamIds;
UserEventBuffer eventBuffer = new UserEventBuffer();
}
}
:ここ
は私のUserクラスであるpublic ModelManager() {
User u = new User("user1", "pwd", "Alex", "[email protected]");
EventStreamMC eb = new EventStreamMC("http://www.wservice.com/stream1");
streams.add(eb);
u.eventStreamIds.add(eb.id);
Logger.info("before : " + u.eventStreamIds.size());
u.save();
User u2 = User.find("byLoginAndPassword", "user1", "pwd").first();
Logger.info("after : " + u2.eventStreamIds.size());
}
(マイEventStreamMCもモデルを拡張し、@Entityタグを持っています、)そのロングIDが自動的に生成されるので、 私はこのコードを実行すると、ここでの結果である:
before = 1
after = 0
したがって、find()メソッドの呼び出し後にListは空です。
どうすればいいですか?
DBに簡単に目を通すほうがずっと簡単なので、問題が保存か検索であるかどうかを知ることができます。たとえば、pwdで2つのuser1がある場合、動作しません。 – niels
devモードでDBをどのように調べることができますか? –
単純な実データベースを使用します。あなたはモジュール[コンソール](https://github.com/playframework/play/blob/master/modules/console/documentation/home.textile)を試すことさえできます。あなたの取引がコミットされていることを確認してください。 – niels