Witam,
mimo wielu prób i wielu przewertowanym stronom na googlach nie mogę poradzić sobie z wieloma kluczami prywatnymi... Pracuję z hibernate 4.0 i chcę dodać annotation do klasy. Stworzyłem już boczną klasę która ma moje 2 klucze prywatne, ale i tak wiele problemów i błędów powstaje. Czy może mi ktoś napisać przykład jak to zrobić poprawnie? (nie wykorzystując xml). Dzięki
taaa przy takim opisie problemu to wszyscy już nawet mają dla Ciebie działają implementację.
mamy:
tabela X z polami
A int primary key
B int primary key
text int
i teraz tworzę klasę
@Entity
@Table(name="X")
public class X{
@Id
@Column(name="A")
private int A;
@Id
@Column(name="B")
private int B;
@Column(name="text")
private int text;
}
Powyższe rozwiązanie nie działa z informacją, że nie zostało to jeszcze zaimplementowane (hibernate 4.0)
Na googlach znalazłem, że należy stworzyć klasę reprezentującą klucze, więc:
@Embadded
public class XX{
private int A;
private int B;
}
i teraz:
@Entity
@Table(name="X")
public class X{
private XX xx;
@Id
public XX getXx(){
return xx;
}
@Column(name="text")
private int text;
To nie działa z informacją, że nieznana jest kolumna xx.
próbowałem również z ClassId i Embadded (jednakże to również nie jest zaimplementowane)
Nieistotne gety i sety pominąłem. Z góry dzięki za pomoc
Widziałem jak to zrobić w co najmniej w jednej z tych książek nie jestem pewien w której (może w obu):
- Pro JPA 2: Mastering the Java(TM) Persistence AP
- Enterprise JavaBeans 3.0