Hibernate mapping problem

0

Cześć

Mam w projekcie takie klasy:

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class A1 extends Entity {

	@ManyToOne(cascade={}, fetch = FetchType.LAZY)
	@JoinColumn(name = "b_id", insertable=false, updatable=false)
	private B b;
}

@Entity
public class A2 extends A1 {
//tutaj są pola klasy
}

@Entity
public class B extends Entity {
	private List<A2> a_list;
}

Jak powinieniem ustawić mapowanie na liscie a_list, żeby Hibernate ją pobrał poprawnie z bazy.
Próbowałem:

@OneToMany(cascade={CascadeType.ALL}, fetch = FetchType.LAZY, mappedBy = "b")

Dostaję wyjątek z Hibernate że encja A2 nie ma pola b

oraz

@OneToMany(cascade={CascadeType.ALL}, fetch = FetchType.LAZY)
@JoinColum(name = "b_id")

W tabeli A2 tworzy kolumnę 'b_id', mimo że już tabela A1 ją posiada ale wypełnia tylko A1. Kolumna 'b_id' ma wartości null. Nie pobiera listy.

Jakieś pomysły?

0

Próbowałeś zmienić "private B b;" na "protected B b;"?

Uważam jednak, że zastosowanie dziedziczenia w tym przypadku jest trochę dziwne.

Skoro klasa A1 ma odwołanie do B, to B powinno mieć odwołanie do A1, a nie A2.

1 użytkowników online, w tym zalogowanych: 0, gości: 1