Verwenden von Java -Aufzeichnungen als JPA -EinbettungsdabellenJava

Java-Forum
Anonymous
 Verwenden von Java -Aufzeichnungen als JPA -Einbettungsdabellen

Post by Anonymous »

Ich möchte Java -Datensatz s als eingebettbare Objekte mit JPA verwenden. Zum Beispiel möchte ich die ID in einen Datensatz einwickeln, damit es typeafe: < /p>
erzeugt

Code: Select all

@Entity
public class DemoEntity {

@EmbeddedId
private Id id = new Id(UUID.randomUUID());

@Embeddable
public static record Id(@Basic UUID value) implements Serializable {}
}
< /code>
Aber wenn ich versuche, es mit Hibernate 5.4.32 zu bestehen, erhalte ich den folgenden Fehler: < /p>
org.hibernate.InstantiationException: No default constructor for entity:  : com.example.demo.DemoEntity$Id
at org.hibernate.tuple.PojoInstantiator.instantiate(PojoInstantiator.java:85) ~[hibernate-core-5.4.32.Final.jar:5.4.32.Final]
at org.hibernate.tuple.component.AbstractComponentTuplizer.instantiate(AbstractComponentTuplizer.java:84) ~[hibernate-core-5.4.32.Final.jar:5.4.32.Final]
...
Es sieht also so aus, als würde Hibernate die Datensatz -ID wie eine Entität behandeln, obwohl es sich um ein @embedingable .
Das gleiche passiert mit Nicht-ID-Feldern und @embeded :

Code: Select all

@Embedded
private Thing thing = new Thing("example");

@Embeddable
public static record Thing(@Basic String value) implements Serializable {}
Gibt es eine Möglichkeit, @embeddable Record mit JPA/Hibernate zu verwenden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post