2
是否可以將SQL的結果映射到非平面對象?如何使用休眠來轉換平坦結果集
List<Customer> customers = hibernateSession().createCriteria(CustomerDetailsView.class)
.add(Restrictions.in("userName", userName))
.setProjection(buildProjection())
.setResultTransformer(Transformers.aliasToBean(Customer.class))
.list();
在我的情況CustomerDetailsView具有平面結構。但我需要它映射到對象是這樣的:
public class Customer {
private String userName;
private String title;
private String firstName;
private String lastName;
private String type;
private String companyName;
private AddressDetails addressDetails;
}
和
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;
}
非常感謝您的快速響應。這想我需要。 –
太棒了,但這不適用於當你有一個集合,對象Child extends Parent,並且你想要的只是Child的特定字段時,它會拋出一個異常,該父母沒有這樣的屬性,它不處理遺產。任何解決方案? –
@ hocikto它應該工作。可能你的集合有一個「父」而不是「小孩」。如果不是這樣,你可以通過一個例子添加一個問題https://github.com/v-ladynev/fluent-hibernate/issues –