создать объект (класс Occupant не определяет конструктор) и сохраните его:Почему у моего вновь созданного объекта Ebean неверный идентификатор?
Occupant o = new Occupant();
o.setAProperty("value");
o.save();
После того как я сохранить его, объект не может быть найден с:
Occupant.find.byId (o.getId())
Однако, я могу найти его в качестве единственного входа в:
Occupant.find.all()
Я уверен, что они одни, но у них ИМЕЮТ РАЗНЫЕ ИДЫ!
Я использую oracle, а класс Occupant использует тот же генератор последовательности, что использует несколько других классов (и они сразу же обнаруживаются идентификатором после сохранения()).
общественного класса Occupant расширяет модель {
@Id
@ Constraints.Max (10)
@GeneratedValue (стратегия = GenerationType.SEQUENCE, генератор = "my_favorite_seq") @ Constraints.Required
private String id;
В качестве примечания, я проверил БД непосредственно и o.getId() составляет примерно -30 от my_favorite_seq.nextval в то время как идентификатор в Occupant.find.all() -1 от my_favorite_seq.nextval.
Ebean должен собирать значения последовательности, а затем путаться, когда их использовать? Спасибо за понимание.