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.T
byId(I id)
Retrieves an entity by ID.Transaction
currentTransaction()
Return the current transaction.Database
db()
Return the Database this finder will use.Database
db(String databaseName)
Return typically a different Database to the default.void
deleteById(I id)
Delete a bean by Id.void
flush()
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.T
ref(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)
-
-