For future reference…after spending quite some time figuring it out 😛
package models; import com.avaje.ebean.Model; import com.avaje.ebean.Query; import play.Logger; import play.data.validation.Constraints; import java.util.Date; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "my_table") public class MyModel extends Model { @Id public Long id; @Column(name = "name") public String name; @Constraints.Required @Column(name = "created") public Date created; private static Finder<Long, MyModel> myFinder = new Finder<Long, MyModel>(MyModel.class); public static MyModel findByIdName(Long id, String name) { Query myQuery = myFinder.where().eq("id", id).raw("COALESCE(name, '') = ?", name).query(); ListmyList = myQuery.findList(); // query must be executed first for getGeneratedSql() to work Logger.log("SQL: " + myQuery.getGeneratedSql()); if (myList.size() != 0) { return myList.get(0); } return null; } }