Package io.ebean
Class Finder<I,T>
- java.lang.Object
-
- io.ebean.Finder<I,T>
-
public class Finder<I,T> extends Object
Intended to be used as a base class for 'Finder' implementations that can then be injected or used as public static fields on the associated entity bean.These 'finders' are a place to organise all the finder methods for that bean type and specific finder methods are expected to be added (find by unique properties etc).
Testing
For testing the mocki-ebean project has the ability to replace the finder implementation.
{@code public class CustomerFinder extends Finder{ public CustomerFinder() { super(Customer.class); } // Add finder methods ... public Customer byName(String name) { return query().eq("name", name).findOne(); } public List findNew() { return query().where() .eq("status", Customer.Status.NEW) .order("name") .findList() } }
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<T>all()Retrieves all entities of the given type.TbyId(I id)Retrieves an entity by ID.TransactioncurrentTransaction()Return the current transaction.Databasedb()Return the Database this finder will use.Databasedb(String databaseName)Return typically a different Database to the default.voiddeleteById(I id)Delete a bean by Id.voidflush()Flush the JDBC batch on the current transaction.Query<T>nativeSql(String nativeSql)Creates a native sql query.Query<T>query()Creates a query.Query<T>query(String ormQuery)Creates a query using the ORM query language.Tref(I id)Creates an entity reference for this ID.UpdateQuery<T>update()Creates an update query.
-
-
-
Method Detail
-
currentTransaction
public Transaction currentTransaction()
Return the current transaction.
-
flush
public void flush()
Flush the JDBC batch on the current transaction.
-
db
public Database db(String databaseName)
Return typically a different Database to the default.This is equivalent to
DB.byName(String)- Parameters:
databaseName- The name of the Database. If this is null then the default database is returned.
-
ref
@Nonnull public T ref(I id)
Creates an entity reference for this ID.Equivalent to
Database.getReference(Class, Object)
-
byId
@Nullable public T byId(I id)
Retrieves an entity by ID.Equivalent to
Database.find(Class, Object)
-
deleteById
public void deleteById(I id)
Delete a bean by Id.Equivalent to
Database.delete(Class, Object)
-
update
public UpdateQuery<T> update()
Creates an update query.int rows = finder.update() .set("status", Customer.Status.ACTIVE) .set("updtime", new Timestamp(System.currentTimeMillis())) .where() .gt("id", 1000) .update();Equivalent to
Database.update(Class)
-
query
public Query<T> query()
Creates a query.Equivalent to
Database.find(Class)
-
-