I did the following code I have the error duplicate field : owner.
I tried to create an alias, but it's the same for country, ...
And when i create an alias for each I have this error :
could not resolve property: country of: com.something.test.bo.impl.Link
Code:
if (link.getOwner() != null) {
if (link.getOwner().getSiteName().trim().length() > 0 ) {
criteria.createCriteria("owner").add(Restrictions.like("siteName", link.getOwner().getSiteName()));
}
if (link.getOwner().getCountry().getName().trim().length() > 0 ) {
criteria.createCriteria("owner").createCriteria("country").add(Restrictions.like("name", link.getOwner().getCountry().getName()));
}
if (link.getOwner().getCountry().getZone().getName().trim().length() > 0 ) {
criteria.createCriteria("owner").createCriteria("country").createCriteria("zone").add(Restrictions.like("name", link.getOwner().getCountry().getZone().getName()));
}
if (link.getOwner().getCountry().getZone().getRegion().getCode().trim().length() > 0 ) {
criteria.createCriteria("owner").createCriteria("country").createCriteria("zone").createCriteria("region").add(Restrictions.like("code", link.getOwner().getCountry().getZone().getRegion().getCode()));
}
}
Does anybody have an idea to make this search ?
I think you should be using "if else". As I don't find any ambiguity in your criteria creation.