I have the next couple of beans:
Address { String name; String number; String zipcode; String town; } MyEntity { Address address; String value1; String value2; } I'm trying to do the next Hibernate query:
private final List<String> propertiesDistinct = Arrays.asList("address.name"); private final List<String> properties = Arrays.asList("address.number", "address.zipcode", "address.town") ProjectionList projectionList = Projections.projectionList(); if (propertiesDistinct != null) { ProjectionList projectionListDistinct = Projections.projectionList(); for (String propertyDistinct : propertiesDistinct) projectionListDistinct.add(Projections.property(propertyDistinct).as(propertyDistinct)); projectionList.add(Projections.distinct(projectionListAgrupar)); } if (properties != null) for (String property : properties) projectionList.add(Projections.property(property).as(property)); criterio.setProjection(projectionList); // MORE FILTERS ON MyEntity FIELDS //... criterio.add(Restrinctions...); // I want to recover the results on my bean MyEntity so I don't have to create a new one criterio.setResultTransformer(Transformers.aliasToBean(MyEntity.class)); Problem:
Caused by: org.hibernate.PropertyNotFoundException: Could not find setter for address.name on class com.entities.MyEntity I understand that Hibernate is looking for something like:
public String getAddressName() {} // This should be in MyEntity Instead of:
public String getName() {} // In my Address bean Ideas about how can I fix this without creating a new bean?
Thanks!