Donnerstag, 22. Januar 2009

Relationship Annotations in @Embeddable unzulässig (JPA1.0)

Teilen
Laut JPA 1.0 Specification ist der Gebrauch von Relationships in @Embeddable annotierten Klassen unzulässig, somit ist die Idee von embedded Valueobjects in Entities nur halbherzig durchgezogen worden (... ein fine-grained Domainmodel sollte doch guter Stil sein!?)

Es bleibt also abzuwarten was JPA2.0 in diesem Sinne bringt.

Beispiel:

@Embeddable
public class UserDetails implements Serializable {

@OneToMany(mappedBy ="id") // unzulaessig!!
private Set emails = new HashSet();

...
}

... wäre schön, ist aber nicht. Die @Embeddable annotierte Klasse darf lediglich einfach annotierte Properties (Basic, Column, Lob, Temporal, Enumerated) enthalten (siehe Kap. 9.1.34/JPA1.0 Spec)

Keine Kommentare:

Kommentar veröffentlichen