мы не использовали JPA или любые другие инструменты ORM в нашем веб-приложении, сейчас мы занимаемся обновлением всего содержимого до Java EE 6,
моя проблема в том, JPA
Я искал ответ и узнал, как люди решают эту проблему,
у меня есть 2 энтита,
@Entity Person
{
@Id
private long id;
@JoinColumn(name="CITY_ID")
@OneToOne(fetch=FetchType.LAZY)
private City city;
....
}
и моя вторая сущность
@Entity City
{
@Id
private long id;
private String name;
.....
}
Я запрашиваю сущность человека и показываю ее на моей странице jsf
У меня есть 2 поля ввода для Person.city, чтобы показать на моей странице JSF
inputhidden для идентификатора и inputtext для имени
люди выбирают города из всплывающего окна, то
я установил скрытый компонент для идентификатора города, с новым выбранным новым значением,
и то же самое для имени,
до сих пор все идет хорошо,
когда я объединяю Person Entity, он также пытается объединить City, но с идентификатором, уже определенным в таблице, поэтому ошибка ограничения для Cirty Id.
что вы делаете для такой проблемы?
Я думал, что действие valueChange для inputHidden, но на жизненном цикле jsf это происходит до обновления модели, поэтому даже если я заменю сущность Person.City на новую в действии,
он будет обновлен снова (фактически с теми же значениями, но это будет сделано дважды)
Итак, что является лучшим решением для этой ситуации?
* 1016 спасибо *