Criteria über den Key einer Map

Dennis123

Grünschnabel
Hallo,


Ich hoffe mir kann einer weiterhelfen:

1. Mein Mapping sieht folgendermaßen aus:

ich habe eine Klasse Materialstandort die 1-n Mitarbieter mit ihren zugehörigen Lohn besitzt.

Auszug aus der Materialstandort - Klasse

Code:
@OneToMany(cascade = CascadeType.ALL)
	@JoinTable(name = "MATERIALSTANDORT_MITARBEITER", joinColumns = { @JoinColumn(name = "MATERIALSTANDORT_ID", nullable = false) }, inverseJoinColumns = { @JoinColumn(name = "LOHN_ID", nullable = false) })
	@MapKeyManyToMany(targetEntity = Mitarbeiter.class, joinColumns = { @JoinColumn(name = "MITARBEITER_ID", nullable = false) })
	public Map<Mitarbeiter, Lohn> getMitarbeiter() {
		return this.mitarbeiter;
	}

Jetzt Möchte ich gerne ein Criteria schreiben, dass mir alle Materialstandorte ausgibt die einen bestimmten Mitarbeiter besitzen.
Das Criteria für die Abfrage der Löhne nach ihrer Währung habe ich hinbekommen:

Code:
final List<?> locations = (List<?>) session.createCriteria(
				Materialstandort.class).createCriteria(
				Materialstandort.MITARBEITER_PROPERTY).setFetchMode("lohn",
				FetchMode.JOIN).add(
				Restrictions.eq(Lohn.WAEHRUNG_PROPERTY, currency)).list();

aber für die Abfrage der Mitarbeiter leider nicht. Ich hoffe Ihr könnt mir weiterhelfen.


Gruß

Dennis
 

Neue Beiträge

Zurück