Datenbankmanipulation, methoden des Entity-Managers ?

Status
Nicht offen für weitere Antworten.

junkhead

Mitglied
hallo,

gibt es auch ne find()-methode (entity-manager),
die 2 objekte als eingabeparameter zulässt?

hab euch mal den code aus meiner PlayerVerwaltungBean (Stateful SessionBean) rauskopiert.
bitte dringend um hilfe 🙁

1000 dank fürs antworten!


fehlermeldung: "the method find(class<T>, Object) in the type EntityManager is not applicable for the arguments"

so hätte ich es gerne:

Code:
	//Player suchen - Rueckgabewert: Players-Objekt
	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public Players getPlayers(int playerID, int gameID) throws PlayersException {

//fehlerquelle
		Players erg = manager.find(Players.class, playerID, gameID);

		if (erg == null)
			throw new PlayersException("Player nicht gefunden");
		else
			return erg;
	}

nur so funktioniert es noch:

Code:
        //Player suchen - Rueckgabewert: Players-Objekt
	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public Players getPlayers(int playerID) throws PlayersException {

//so funzt es noch
		Players erg = manager.find(Players.class, playerID);

		if (erg == null)
			throw new PlayersException("Player nicht gefunden");
		else
			return erg;
	}
 
Was willst du damit erreichen? Die Id deines Players ist eindeutig genug. Ansonsten NamedQueries, Queries oder wenn alleStricke reissen NativeQueries verwenden.
 
meine datenbank besteht aus 2 tabellen
players(key: playerID)
gamesettings(key: gameID)

um den richtigen player zu finden über getPlayers()
hätte ich es gerne so, dass ich beide keys übergebe.
so dass mir find() den eindeutigen player mit der richtigen gameid liefert.
 
kann ich in der orm.xml eigentlich beide primär-schlüssel
in dieser art anlegen?

Code:
		<attributes>
			<id name="playerID">
				<column name="PLAYERID"/>
			</id>
			<id name="gameID">
				<column name="GAMEID"/>
			</id>
			<basic name="username">
				<column name="USERNAME"/>
			</basic>
			<basic name="porder">
				<column name="PORDER"/>
			</basic>
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben