Ich habe einige nativen Abfrage und verwenden soll das Ergebnis der Ausführung der Abfrage in Liste der nicht-Entity POJO Klassen zuzuordnen:Wie @ConstructorResult Anmerkung
@SqlResultSetMapping(
name = "SomeMapping",
classes = {
@ConstructorResult(targetClass = SomeClass.class,
columns = {
@ColumnResult(name = "id", type = Integer.class),
@ColumnResult(name = "NAME", type = String.class),
@ColumnResult(name = "DATE_BEGIN", type = java.util.Date.class)
}
)
}
)
public class SomeClass{
private Integer id;
private String name;
private java.util.Date begDate;
private java.util.Date endDate;
public SomeClass(Integer id, String name, Date begDate){
this.id = id;
this.name = name;
this.begDate = begDate;
}
//Getters & Setters ...
}
Und in der Regel, wie ich aufgrund der Ausführung der Abfrage abgerufen werden soll :
String query = "SELECT " +
"A.id AS 'id', " +
"A.name AS 'NAME', " +
"A.begDate AS 'DATE_BEGIN' " +
"FROM " +
"SomeTable A " +
"WHERE A.endDate < '2014-01-01'";
List<SomeClass> result = em.createNativeQuery(query, "SomeMapping").getResultList();
Aber ich bekomme immer die Liste der Objekte. Wie kann ich eine Liste meiner POJO-s abrufen?
Das ist eine gute Erklärung für die Probleme ist https://stackoverflow.com/questions/24160817/getting-error-could-not-locate-appropriate-constructor-on-class?answertab=votes#tab-top –