2010-06-05 2 views

Antwort

5

Die eigene eine zu viele bidirektionale Beziehung bedeutet nur, dass die Kinder einen Verweis auf die Eltern haben. Zum Beispiel kann das untergeordnete Kind über persistentUser auf den Eltern zugreifen. Wenn persistentUser in der PersistentLogin-Klasse nicht vorhanden war, wäre es nicht bidirektional.

One-to-Many (PersistentUser.java - Parent):

@OneToMany(mappedBy = "persistentUser", cascade = CascadeType.ALL) 
private Collection<PersistentLogin> persistentLogins; 

Many-to-One (PersistentLogin.java - Kind):

@ManyToOne(fetch = FetchType.LAZY) 
private PersistentUser persistentUser; 
+0

Hallo Taylor danke für die Antwort. Ich bin neu bei GAE, damit ich es ein wenig schwer verstehen kann. Jetzt raten Sie, es gibt eine FootballTeam.java Klasse und eine Player.java Klasse. Ein Fußballteam hat viele Spieler. Was passiert nun, wenn ich diese Beziehung bidirektional mache? –

+0

Diese Beziehung würde genauso dargestellt werden wie das Beispiel, das ich gab. Die @ OneToMany-Beziehung würde in der FootballTeam-Klasse mit einem Attribut "Collection players" sein. Die @ ManyToOne-Beziehung wäre in der Player-Klasse mit einem FootballTeam-Teamattribut. –

+0

Taylor habe ich verstanden, aber ich glaube, ich weiß nicht, was das Wort bidirektional in Beziehungen bedeutet. Was passiert, wenn die Beziehung bidirektional wird? Könnten Sie mir bitte ein Beispiel für die Football-Team-Klasse und die Spieler-Klasse geben? Danke –

0

Endlich verstehe ich, it.Guess Ich habe ein Class Name FootBallTeam und es hat eine Eigenschaft namens teamname. Nun ist der pseudue Code ist

FootBallTeam ft = new FootBallTeam(); 
    ft.setteamname("Barcelona"); 

dann 3 Spieler-Klasse Einheit unter diesem Team hinzufügen namens Messi, Xavi, Iniesta. jetzt, wenn die Beziehung bidirektional ist, wenn ich den Code ausführen,

ft.setteamname("Real Madrid"); 

es automatisch die folgenden Codes hinter den Kulissen läuft.

Messi.setteamname("Real Madrid") 
Xavi.setteamname("Real Madrid") 
Iniesta.setteamname("Real Madrid")