Я думаю, что вы не можете достичь этого, используя аннотации в JPA 2.0.В книге "Pro JPA 2" от Apress я читал, что такие отношения только для чтения обсуждаются для будущих версий спецификации.
У меня была похожая проблема, которая описывала здесь .Я также попросил Группу экспертов для любого комментария здесь (на момент написания этого поста - ответа не было).
Каскадирование немного не меняется, как и выне нужно «объединять» объекты, чтобы изменить его состояние.Вы можете просто извлечь Entry
, который перемещен в управляемое состояние (он также переводит Transaction
в управляемое состояние), поэтому каждое обновление должно в конце отражаться в базе данных.
Кажется, что @JoinColumn(updatable=false)
означает просто то, что вы не можете изменить сущность Transaction
на что-то другое, а не то, что вы не можете изменить ее состояние.
Вы можете отсоединить сущность Transaction
, как только выполучить Entry
.В этом случае изменения, внесенные в Transaction
, будут сохранены (управляются), но в Entry
не будут сохранены (отсоединены).Вам просто нужно не забыть обновить состояние вашего Entry
в конце, так как ваше представление в памяти может не совпадать с представлением в базе данных.