JPA вызывает обновление при слиянии, но должно инициировать вставку - PullRequest
0 голосов
/ 05 декабря 2011

Как описано здесь У меня возникла проблема при загрузке объекта с присоединенным типом наследования.Проблема была исправлена ​​с использованием в JPA-провайдере внешнего флага соединения для этого типа отображения.

Теперь проблема перемещена не в операции загрузки, а в операции обновления.Представьте, что у меня та же модель домена:

@Table(name = "S_MC_CC_RAPPORTI")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "COD_TIPORAPPORTO")
public class RapportoImpl implements Rapporto, Cloneable {

    @Id
    @Column(name = "COD_RAPPORTO")
    protected Long codiceRapporto;

и подкласс:

@Entity
@Table(name = "CARTE")
@DiscriminatorValue("4 ")
public class CartaImpl extends RapportoImpl implements Carta, Cloneable {
   private String description;

ER:

Таблица Rapporto:

Id   COD_TIPORAPPORTO
1       4

Table Carta:

Id   Description
1     Carta

Представьте, что запись в дочерней таблице удалена;теперь, когда я загружаю Carta, у меня есть объект со свойством description = null.Хорошо, я присваиваю ему значение: description = carta, но когда я объединяю объект, JPA создает оператор Update, думая, что запись в дочерней таблице присутствует.Я должен вставить вставку в эти варианты использования.Я попытался добавить эту конфигурацию на родительскую и дочернюю таблицу, но не получилось.Есть идеи, как вызвать вставку в этой ситуации?

С уважением, Массимо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...