Я работаю над проектом с использованием Play! Framework, и у меня есть некоторые проблемы с JPA.Кажется, что он не сохраняет мой список или не может извлечь его из БД.
Вот мой класс пользователя:
@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();
}
}
У меня есть другой класс,ModelManager, конструктор которого выглядит следующим образом:
public ModelManager() {
User u = new User("user1", "pwd", "Alex", "test@test.com");
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 также расширяет Model и имеет тег @Entity, поэтому его длинный идентификатор генерируется автоматически) Когда я запускаю этот код, вот результат:
before = 1
after = 0
Итак, список пуст после вызова метода find ().
Как я могу заставить его работать?