Können wir mit JPA eine enum als ID einer Entität definieren?Verwendung von enum als ID
Ich habe versucht, die folgenden:
public enum AssetType {
....
}
@Entity
@IdClass(AssetType.class)
public class Adkeys {
private AssetType type;
@Id
@Enumerated(EnumType.STRING)
@Column(nullable = false)
public AssetType getType() {
return type;
}
}
Mit OpenJPA, es klagt:
org.apache.openjpa.persistence.ArgumentException: Die ID-Klasse "Klasse aa.AssetType" angegeben nach Typ "Klasse aa.Adkeys" hat keinen öffentlichen No-Args-Konstruktor.
Also meine Fragen sind:
- sollten wir in der Lage Enum als ID für eine Entität auf PPV benutzen? (d. h., es gibt einen Fehler in OpenJPA)
- oder mache ich irgendwo einen Fehler?
- und gibt es eine Problemumgehung für ein solches Problem?
@Nathan: Also dann muss es ein Fehler sein. –