Hallo Leute,
ich habe noch nicht viel Erfahrung mit Hibernate Annotations und versuche eine
"OneToMany" Beziehung von einen Objekt einer Klasse zu anderen Objekten der selben Klasse zu erstellen, mein bisheriger Weg sieht folgt aus:
Hierbei wird in der Datenbank zwar eine Koppeltabelle angelegt,
diese kann aber nur in der sn_user_id Spalte die gleiche id haben.
Die friends_id Spalte wir als unique angelgt, somit habe ich keine
möglichkeit für einen weiteren sn_user(id=2) die gleichen Freunde wie
der sn_user mit der id=1 anzulegen.
oid;sn_user_id;friends_id
768818;1;1
768808;1;2
768809;1;3
768819;2;3 <- nicht möglich da friends_id unique
Kann mir jemand helfen diese Problem zu lösen? Was fehlt bei meiner Annotation um zu
vermeiden das "friends_id" als "unique" angelegt wird ?
Danke
LG
Ciscolos
ich habe noch nicht viel Erfahrung mit Hibernate Annotations und versuche eine
"OneToMany" Beziehung von einen Objekt einer Klasse zu anderen Objekten der selben Klasse zu erstellen, mein bisheriger Weg sieht folgt aus:
Code:
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@Entity()
@Table(name = "sn_user", uniqueConstraints = {@UniqueConstraint(columnNames={"userName"})})
public class SNUser implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue (strategy = GenerationType.AUTO)
private Integer id;
private String userName;
private Character sex;
private String forename;
private String surname;
@OneToMany(cascade = CascadeType.ALL)
private Set <SNUser>friends;
...
Hierbei wird in der Datenbank zwar eine Koppeltabelle angelegt,
diese kann aber nur in der sn_user_id Spalte die gleiche id haben.
Die friends_id Spalte wir als unique angelgt, somit habe ich keine
möglichkeit für einen weiteren sn_user(id=2) die gleichen Freunde wie
der sn_user mit der id=1 anzulegen.
oid;sn_user_id;friends_id
768818;1;1
768808;1;2
768809;1;3
768819;2;3 <- nicht möglich da friends_id unique
Kann mir jemand helfen diese Problem zu lösen? Was fehlt bei meiner Annotation um zu
vermeiden das "friends_id" als "unique" angelegt wird ?
Danke
LG
Ciscolos