У меня есть модель домена с InheritanceType.JOINED.
@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 static final long serialVersionUID = 1723366781345274590L;
Это прекрасно работает, пока БД не станет согласованным.
Таблица Раппорто
Id COD_TIPORAPPORTO
1 4
Таблица Карта
Id Description
1 Carta
Так что, когда я загружаю Rapporto
по id 1, все прекрасно работает. Но когда база данных становится несовместимой, все работает плохо.
Представьте, что у меня больше нет записи на дочерней таблице Carte
. Когда я пытаюсь загрузить его, я получаю объект null
, потому что JPA создает внутреннее соединение между супер и дочерней таблицей.
Можно ли настроить его так, чтобы внешнее соединение на дочерней таблице