ich versuche immer noch mit der many to many beziehung klar zu kommen.
Ich hab diese Klasse
@Entity
@Table(name = "books")
public class Book {
private int id;
private List<Author> authors;
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@ManyToMany(targetEntity= Author.class ,cascade = CascadeType.ALL)
@JoinTable(name = "authors_books",
joinColumns = @JoinColumn(name = "books_id"),
inverseJoinColumns = @JoinColumn(name = "authors_id"))
@OrderBy("name")
public List<Author> getAuthors() {
return authors;
}
public void addAuthor(Author a)
{
authors.add(a);
}
public void setAuthors(List<Author> authors) {
this.authors = authors;
}
}
Jetzt hab ich eine Zwischentabelle mit den Spalten books_id und author_id,
aber ich hab keinen Primär Schlüssel in der Tabelle wie kann ich das ändern??
Ich hätte gern einen zusammengesetzen PK aus books_is und author_id…
Datensätze sind dopplet drin darum ist es mir ja aufgefallen ;)…
Ne bei meinen einzelnen Tabellen sind die PK da also jeweils die ID als Sequence ist PK…
Hm … das Beispiel sieht aus wie das aus meinem zip-file wo ich mal irgendwo hochgeladen hab!? Also damit hats bei mir auf jeden Fall funktioniert! Ansonsten hab ich leider keine Ahnung …
Bist du dir auch ganz sicher dass du einen zusammengesetzten Schlüssel hast??? Weil anscheinend muss man das noch ne extra annotation setzten, dass er das macht…
Ok im notfall nimmt man ein Set dann kann man es auch lösen…