Search code examples
javahibernatesearchcriteria

java hibernate criteria issue


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 ?


Solution

  • I think you should be using "if else". As I don't find any ambiguity in your criteria creation.