Hallo zusammen, ich krieges es einfach nicht hin, aber vieleicht kann mir ja jemand helfen (hoff ich doch).
Also ich möchte ein ganz banales mapping haben, dass aber leider auf eigenen id's:
DB-Schema:
Tabelle: A{ pk : id moechtegerneId : aid }
Tabelle: B{ pk : id moechtegerneFK : bId }
Beziehung: A *<---> B
Beide möchtegerne sind also selbst erzeugt jetzt wollte ich einfach das ganze mappen, aber so klappt es nicht.
class A{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Integer id;
@ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name="aid") private B b; }
class B{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Integer id;
@OneToMany(fetch=FetchType.LAZY,mappedBy="b") @Column(name="bId") private List<A> as; }
Hibernate macht das daraus: select * from B this_ left outer join A a2_ on this_.id=a2_.aid
Das ist ja falsch ich hätte gerne this_.bId=a2_.aid Wenn ich @JoinColumn(name="aid",referencedColumnName="bId") bei A.b setzte dann kommt: Unable to find column with logical name
Was mach ich falsch? Das Problem ist, dass ich genau mit diesem Schema arbeiten muss. Ich wollte einfach mal nachfragen, bevor ich das ganze händisch löse.
Hoffe auf baldige antwort
Grüsse euer Gepi
|