I
i125
Hallo zusammen,
vorab, ich bin absoluter Java Neuling... ich hab da ein kleines Problemchen mit Hibernate:
Es soll eine Relation zwischen den Tabellen USER und GROUP abgebildet werden.
Die Tabellen sehen so aus:
Tabelle User:
id PK
active
firstname
lastname
emailaddress
username
password
fk_group_id (FK von der Tabelle group)
Die Tabelle Group:
id OK
name
permission
.... Im Java siehts bei mir dann so aus:
Leider funktioniert das nicht wirklich. Mein Fragen dazu:
In der Tabelle, wo der FK Key eingetragen wird, muss doch
@OneToMany(mappedBy="KEY? Tabellename?")
private Set<fk_group_id> fk_group_id = new HashSet<fk_group_id>();
Eclipse meckert nun an: fk_group_id? Muss da das Objekt hin?
Grüße
Alex
vorab, ich bin absoluter Java Neuling... ich hab da ein kleines Problemchen mit Hibernate:
Es soll eine Relation zwischen den Tabellen USER und GROUP abgebildet werden.
Die Tabellen sehen so aus:
Tabelle User:
id PK
active
firstname
lastname
emailaddress
username
password
fk_group_id (FK von der Tabelle group)
Die Tabelle Group:
id OK
name
permission
.... Im Java siehts bei mir dann so aus:
Code:
package test.tables;
import java.io.Serializable;
import java.util.HashSet;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.mapping.Set;
@Entity
@Table(name = "USER")
public class USER implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
private Boolean active;
private String firstname;
private String lastname;
private String emailaddress;
private String username;
@OneToMany(mappedBy="fk_group_id")
private Set<fk_group_id> fk_group_id = new HashSet<fk_group_id>();
public static long getSerialVersionUID() {
return serialVersionUID;
}
public Boolean getActive() {
return active;
}
public void setActive(Boolean active) {
this.active = active;
}
public String getEmailaddress() {
return emailaddress;
}
public void setEmailaddress(String emailaddress) {
this.emailaddress = emailaddress;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public Set<fk_group_id> getFk_group_id() {
return fk_group_id;
}
public void setFk_group_id(Set<fk_group_id> fk_group_id) {
this.fk_group_id = fk_group_id;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
Code:
package test.tables;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name = "GROUP")
public class GROUP implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@ManyToOne
@JoinColumn
private Integer id;
private String name;
private String permission;
public static long getSerialVersionUID() {
return serialVersionUID;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPermission() {
return permission;
}
public void setPermission(String permission) {
this.permission = permission;
}
}
Leider funktioniert das nicht wirklich. Mein Fragen dazu:
In der Tabelle, wo der FK Key eingetragen wird, muss doch
@OneToMany(mappedBy="KEY? Tabellename?")
private Set<fk_group_id> fk_group_id = new HashSet<fk_group_id>();
Eclipse meckert nun an: fk_group_id? Muss da das Objekt hin?
Grüße
Alex