Представьте, что у вас есть объект Person с отношениями один к одному с объектом Account.При отображении этого в hibernate у вашего класса Person есть свойство Account.
Теперь предположим, что веб-приложение отправляет объекты Person, которые оно хочет обновить, но модуль, который делает это, не заботится о своих вложенных объектах Account (пока) и не может быть обременен отслеживаниемиз них (так как они не особенно легкие и, следовательно, выборка установлена на LAZY).
По этим причинам вы можете установить для свойства «Учетная запись» в «Персоне» значение «Updatable = false», «Вставляемый = false», чтобы при отправке «Лица с нулевой Учетной записью» отношения не удалялись.Пока все хорошо, но что произойдет, если вы не захотите обновлять свойство учетной записи, как бы вы это сделали?Есть ли способ обойти вставляемый / обновляемый?
Спасибо
ОБНОВЛЕНИЕ Добавлен пример кода (Кроме того, я говорил о сущности учетной записи, но затем я начал ссылаться наон как пользователь по какой-то причине исправил это тоже)
@Entity
@Table(name="person")
public class Person implements java.io.Serializable
{
//properties
private Integer id;
private String Name;
//... this class would have many properties
/*Most of the time the frontend will send a Person object
that has this property set to null even if it exists
because the screen that handles this doesn't manage accounts
There are other screens that will send that complete person object with
its account, so the problem is how to save an incomplete person object
without deleting the relationship
*/
@OneToOne(fetch=FetchType.EAGER)
@JoinColumn(name="idAccount", insertable=false, updatable=false)
public Account getAccount()
{
return this.account;
}
public void setAccount(Account account)
{
this.account = account;
}
}
@Entity
@Table(name="account")
public class Account implements java.io.Serializable
{
//properties
private Integer idAccount;
//this class has even more properties and nested objects
}