For the complete documentation index, see llms.txt. This page is also available as Markdown.

Associations

Yes, you can also create associations in Detached Criteria Builder, just like you would with Criteria Builder. Go on, make some uber-complicated queries!

Here we go!...

You can also navigate associations by nesting the criterias using the createCriteria("association_name") method and then concatenating the properties of the association to query upon. You will basically be switching the pivot point of the query.

var c = newCriteria("User");
var users = c.like("name","lui%")
     .createCriteria("admins")
          .like("name","fra%")
     .list();
var c = newCriteria("User");
var users = c.like("name","lui%")
     .withAdmins().like("name","fra%")
     .list();

You can also use a hibernate property approach which aliases the association much how HQL approaches it by using the joinTo( "associationName", "alias" ) method:

var c = newCriteria("User");
var users = c.like("name","lui%")
     .joinTo("admins","a")
     .eq("a.name","Vero")
     .list();

The joinTo() method accepts a third argument of joinType, which can be retrieved from the criteria object:

var c = newCriteria( "User" );
var users = c.like( "name", "lui%" )
     .joinTo( "admins", "a", c.RIGHT_JOIN )
     .eq( "a.name", "Vero" )
     .list();

Let's see the method signatures for these guys:

Last updated

Was this helpful?