-
-
Notifications
You must be signed in to change notification settings - Fork 18
Detached Criteria Builder Associations
richardherbert edited this page May 30, 2017
·
1 revision
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 createAlias("associationName","alias") method:
var c = newCriteria("User");
var users = c.like("name","lui%")
.createAlias("admins","a")
.eq("a.name","Vero")
.list();
Let's see the method signatures for these guys:
createCriteria(required string associationName,numeric joinType)
createAlias(required string associationName, required string alias, numeric joinType)
with{AssociationName}( joinType )