hibernate: Problem mit OneToMany

Status
Nicht offen für weitere Antworten.

GilbertGrape

Bekanntes Mitglied
Hallo,

ich habe gerade damit angefangen, mit Hibernate rumzuspielen. Ich hab auch schon in den Tutorials gelesen.
Irgendwas haut aber mit meinen Beziehungen nicht hin.
Zuerst mal die Situation. Ich möchte 2 Tabellen haben: Player und Team. Diese sollen über eine n-1 Beziehung miteinander verknüpft sein. Heißt also, ich trage das Team als Foreign Key in die Player ein.

Mit Hibernate sieht das bei mir im Moment so aus:

Team:
Code:
@Entity
@Table(name="TEAM")
public class Team implements Serializable{

	@Column @Id
	private String country;
	
	private Set<Player> players = new HashSet<Player>();
	
       private Team(){}	
	public Team(String country){
		this.country = country;
	}
	
	
	public String getCountry() {
		return country;
	}

	public void setCountry(String country) {
		this.country = country;
	}
	
	[b]@OneToMany(mappedBy = "team", cascade = CascadeType.ALL, fetch = FetchType.LAZY) 
	@JoinColumn(name = "team")[/b]
	public Set<Player> getPlayers(){
		return players;
	}
	
	public void setPlayers(Set<Player> players){
		this.players = players;
	}

Player:
Code:
@Entity
@Table (name="PLAYER")
public class Player implements Serializable {

	private Long Id;
	private String firstName;
	private String lastName;	
	private Team team;
	
	[b]@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) 
	@JoinColumn(name="country")[/b]
	public Team getTeam() {
		return team;
	}
	public void setTeam(Team team) {
		this.team = team;
	}
	//	@Id @GeneratedValue(strategy=GenerationType.SEQUENCE)
	public Long getId() {
		return Id;
	}	
	private void setId(Long id) {
		Id = id;
	}
	//restliche getter und setter
}

Wenn ich jetzt in meine main-Methode ein Team hinzufügen will und die Session starte, kommt folgender Fehler:

Code:
 org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: TEAM, for columns: [org.hibernate.mapping.Column(players)]

In der hibernate.cfg.xml stehen nur die Verbindungsdaten und das zu mappende Package und die beiden Klassen.

Ich hoffe, es ist nicht zu unübersichtlich und ihr könnt mir einen Tipp geben.

Gruß, Gilbert
 
G

Guest

Gast
@JoinColumn(name = "team") gehört in die Klasse Player.
Schreibe die Annotationen an die Attribute der Klasse, nicht an die Methoden. Das ist übersichtlicher.
 
G

Guest

Gast
Ungefähr so
Code:
@Entity
public class Team
{
   @Id
   private String country;

   @OneToMany(mappedBy = "team", cascade = CascadeType.ALL)
   private Set<Player> players = new HashSet<Player>();

   ...
}

@Entity
public class Player
{
   @Id 
   @GeneratedValue
   private Long id;
   @Column
   private String firstName;
   @Column
   private String lastName;
   @ManyToOne
   @JoinColumn(name="team")
   private Team team;

   ...
}
 

GilbertGrape

Bekanntes Mitglied
Vielen Dank! Es hat jetzt geklappt.
Über die Frage, wohin die Annotations gehören, scheiden sich ja anscheinend die Geister. Die einen sagen, direkt an die Attribute, die anderen sagen, an die getter-Methode...
 

-MacNuke-

Bekanntes Mitglied
Also laut Buch ändert sich damit auch das Verhalten, wenn du die Annotations an die Attribute schreibst. Dann nutzt er afaik die Getter/Setter Methoden nicht, sondern direkt die Felder. Also da muss man afaik aufpassen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
O HSQLDB Hibernate Criteria Problem Datenbankprogrammierung 3
P Lazy-Fetchig und Session-Problem mit Hibernate Datenbankprogrammierung 4
C Hibernate ManyToMany zusammengesetzter Primärschlüssel, problem. Datenbankprogrammierung 3
C Hibernate Property-Problem Datenbankprogrammierung 5
c_sidi90 Hibernate Problem Table doesnt excist Datenbankprogrammierung 8
I Hibernate: Composite Foreign Key Problem Datenbankprogrammierung 14
K Hibernate + MySQL Problem... Datenbankprogrammierung 2
M Problem mit Hibernate und Named Query Datenbankprogrammierung 1
M Problem mit Hibernate und Access Datenbankprogrammierung 9
E Hibernate Problem bei bidirektionaler 1:n Verbindung Datenbankprogrammierung 2
G Hibernate Instrumentation Problem Datenbankprogrammierung 5
B Hibernate Mapping Problem Datenbankprogrammierung 3
ARadauer Hibernate und HSQL DB Problem Datenbankprogrammierung 4
K org.hibernate.MappingException Problem Datenbankprogrammierung 2
F Hibernate Mapping problem Datenbankprogrammierung 2
G Problem mit neuer Hibernate Library und SLF4J Logging Datenbankprogrammierung 5
G [Hibernate] Problem mit LEFT JOIN Datenbankprogrammierung 7
F Hibernate Problem Datenbankprogrammierung 4
Y Hibernate - Problem bei Mapping Datenbankprogrammierung 7
Y Hibernate - Problem bei save Datenbankprogrammierung 22
F Hibernate Problem Datenbankprogrammierung 5
M Problem mit Hibernate und JDBC Datenbankprogrammierung 2
N Hibernate & hsqldb: Problem bei db-update Datenbankprogrammierung 7
W Hibernate Update Problem Datenbankprogrammierung 3
O Update-Problem mit Hibernate-Framework Datenbankprogrammierung 5
torresbig MySQL hibernate - could not resolve entity class ... (Datenbank Anfänger) Datenbankprogrammierung 19
I Hibernate Predicate mit IN Clause "Unaware how to convert value to requested type" Datenbankprogrammierung 0
T org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ..., could not initialize proxy - no Session Datenbankprogrammierung 5
T Realisierungsvorschläge Hibernate SQL Datenbankprogrammierung 1
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Tabellen-Erzeugung via Hibernate ignoriert 'CascadeType' settings Datenbankprogrammierung 1
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
damike84 Hibernate: persistieren eines Graphen Datenbankprogrammierung 2
N Hibernate Entitäten bei Selects aus 2 Tabellen Datenbankprogrammierung 7
OnDemand Hibernate Realationen Datenbankprogrammierung 7
OnDemand Hibernate ManyToOne Datenbankprogrammierung 5
D Hibernate oneToMany Syntaxfehler Datenbankprogrammierung 3
D Hibernate Error: NoSuchMethodError Datenbankprogrammierung 4
D hibernate mit postgreSQL Datenbankprogrammierung 3
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
OnDemand MySQL Trigger löst nicht aus bei Hibernate Update Datenbankprogrammierung 12
OnDemand Hibernate OneToMany ManyToOne Datenbankprogrammierung 61
J Hibernate One-To-One mit Where Klausel Datenbankprogrammierung 6
L hibernate.cfg.xml Could not parse configuration Datenbankprogrammierung 0
L H2 Hibernate definieren? Datenbankprogrammierung 1
T JPA Mapping Enum (hibernate 5) Datenbankprogrammierung 1
H In hibernate.cfg.xml schreiben und auslesen Datenbankprogrammierung 0
K Hibernate: Ein Fluch Datenbankprogrammierung 3
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
K Eclipse: JBoss Hibernate Tool: Kein Zugriff auf Datenbank Datenbankprogrammierung 5
S JpaRepositories & Hibernate: ungewolltes trim() in findBy Datenbankprogrammierung 7
S MySQL hibernate exception: illegal state exception : entityManagerFactory is closed Datenbankprogrammierung 5
S Hibernate: Verschiedene Klassen zurückgeben. Datenbankprogrammierung 2
looparda Architektur für JPA Hibernate Umstieg Datenbankprogrammierung 14
perlenfischer1984 Hibernate mit final members Datenbankprogrammierung 3
perlenfischer1984 Java Objecte speichern mit Hibernate ? Datenbankprogrammierung 2
N SQLite Hibernate und Aufruf von Funktion SELECT last_insert_rowid() Datenbankprogrammierung 2
N Sqlite3 und Hibernate Datenbankprogrammierung 3
A Hibernate Cache leeren Datenbankprogrammierung 4
I MySQL Hibernate zu viele Queries Datenbankprogrammierung 2
Psypsy Hibernate / JPA erkennen von schon gespeicherten Objekten Datenbankprogrammierung 4
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
J Hibernate + DTOs - DTOs in DAOs verwenden? Datenbankprogrammierung 1
S Hibernate-Konfiguration : Unverständliche Ausgabe beim Ausführen Datenbankprogrammierung 0
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
J Hibernate + HSQL embedded Datenbankprogrammierung 2
P Hibernate Einstieg Datenbankprogrammierung 5
C Hibernate und createQuery Datenbankprogrammierung 2
V kennt jemand empfehlenswerte online tutorials zur Hibernate ? gerne auch englisch. Datenbankprogrammierung 4
G H2 Hibernate - wie joins machen Datenbankprogrammierung 1
D Hibernate: Zustand eines Objekts erkennen? Datenbankprogrammierung 0
D Unterschiede Hibernate Vs. Java Persistence API Datenbankprogrammierung 8
I Hibernate / JPA Index hinzufügen Datenbankprogrammierung 1
X Hibernate Cache Verständnisproblem Datenbankprogrammierung 0
T Hibernate und inner class Datenbankprogrammierung 0
K n:m Tabellen mit Hibernate erstellen Datenbankprogrammierung 1
T Hibernate DAO gute Tutorials/Bücher gesucht Datenbankprogrammierung 0
C Hibernate: could not resolve property Datenbankprogrammierung 1
J Plug-In-Framework für Hibernate-Klassen Datenbankprogrammierung 0
M Hibernate - Save Child wenn nötig Datenbankprogrammierung 10
M DAO's + Hibernate Theorie Datenbankprogrammierung 4
T Hibernate, HSQLDB und UNIQUE Datenbankprogrammierung 2
F Hibernate - verschiedene Schemen Datenbankprogrammierung 7
D Hibernate SaveOrUpdate Exception Datenbankprogrammierung 2
D Hibernate CreateQuery ohne Result Datenbankprogrammierung 7
E MySQL Hibernate mit JaxWS führt zu LazyInitialization Exception Datenbankprogrammierung 8
L Einarbeitung in Hibernate -> wenn gute SQL Kenntnisse vorhanden? Datenbankprogrammierung 2
B DB2 Hibernate findet Datenbank nicht Datenbankprogrammierung 18
K JPA / Hibernate Annotations Datenbankprogrammierung 4
M JPA / Hibernate mit Postgres DB Datenbankprogrammierung 3
P JSF + H2 + TomEE + Hibernate/JPA Datenbank wird nicht angelegt Datenbankprogrammierung 3
E MySQL Hibernate ( Anfänger ) Datenbankprogrammierung 3
J Hibernate Select auf Parameterliste Datenbankprogrammierung 3
P Oracle Hibernate - Oracle-VarChar-Index wird nicht genutzt Datenbankprogrammierung 3
M Hibernate Foreign Key definieren Datenbankprogrammierung 4
M Abstrakte Klassen Hibernate Datenbankprogrammierung 4
D Mit Hibernate (mit Annotation) auf Views zugreifen Datenbankprogrammierung 2
M [Hibernate]Abgleich eines lokalen Objekts mit dem Zustand aus der Datenbank. Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben