Ist es möglich, das Ergebnis von SQL einem nicht flachen Objekt zuzuordnen?Wie transformiere ich eine flache Ergebnismenge mit Hibernate?
List<Customer> customers = hibernateSession().createCriteria(CustomerDetailsView.class)
.add(Restrictions.in("userName", userName))
.setProjection(buildProjection())
.setResultTransformer(Transformers.aliasToBean(Customer.class))
.list();
In meinem Fall CustomerDetailsView flache Struktur aufweist. Aber ich brauche es abzubilden, wie dies zum Objekt:
public class Customer {
private String userName;
private String title;
private String firstName;
private String lastName;
private String type;
private String companyName;
private AddressDetails addressDetails;
}
und
public class AddressDetails {
private String countryCode;
private String addressLine1;
private String zipOrPostCode;
private String city;
private String countryDivisionName;
private String countryDivisionCode;
private String countryDivisionTypeCode;
private String residentialAddress;
}
Vielen Dank für so schnelle Antwort. Das denke ich brauchte. –
Awesome, aber das funktioniert nicht für Sachen wie wenn Sie ein Set haben, Objekt Child erweitert Parent, und Sie wollen nur bestimmte Feld von Child, es wird eine Ausnahme werfen, dass Eltern nicht über solche Attribute verfügt, es nicht behandelt Erbe. Irgendeine Lösung dafür? –
@hocikto Es sollte funktionieren. Wahrscheinlich hat Ihr Set ein "Eltern" und nicht "Kind". Wenn das nicht ist, können Sie ein Problem mit einem Beispiel hinzufügen https://github.com/v-ladynev/fluent-hibernate/issues –