Ich habe ein Datenmodell mit Klasse A und Klasse B, beide haben mehr als einen Primärschlüssel. Ich versuche, alle Elemente von A in einem ResultSetMapping in einer Abfrage zu verwenden, aber ich denke, da A einen Schlüssel hat, der Entität (B) ist, erhalte ich eine Ausnahme.SqlResultSetMapping mit double eingebetteten Schlüssel
class A {
@Id
String id;
@Id
String version;
@Id
B b;
}
class B{
@Id
String id;
@Id
String type;
}
@SqlResultSetMapping(name = "Mapping", entities = {
@EntityResult(entityClass = A.class, fields = {
@FieldResult(name = "id", column = "a_id"),
@FieldResult(name = "version", column = "a_version"),
@FieldResult(name = "b.id", column = "a_b_id"),
@FieldResult(name = "b.type", column = "a_b_type")
}
Ich denke, weil der B eine separate Einheit sein ich einen Fehler in der Abfrage erhalten:
java.lang.ArrayIndexOutOfBoundsException: null bei java.lang.System.arraycopy (native Methode) ~ [na: 1.8.0_131] um org.hibernate.internal.util.collections.ArrayHelper.slice (ArrayHelper.java:131) ~ [Hibernate-Core-5.0.12.Final.jar: 5.0.12.Final ]