Module io.ebean.api
Package io.ebean

Class BeanFinder<I,T>

java.lang.Object
io.ebean.BeanFinder<I,T>
Type Parameters:
I - The ID type
T - The Bean type
Direct Known Subclasses:
BeanRepository

@NonNullApi public abstract class BeanFinder<I,T> extends Object
Provides finder functionality for use with "Dependency Injection style" use of Ebean.

Note that typically users would extend BeanRepository rather than BeanFinder.



 public class CustomerFinder extends BeanFinder<Long,Customer> {

   @Inject
   public CustomerFinder(Database database) {
     super(Customer.class, database);
   }

   // ... add customer specific finders
 }

 
  • Field Details

    • server

      protected final Database server
    • type

      protected final Class<T> type
  • Constructor Details

    • BeanFinder

      protected BeanFinder(Class<T> type, Database server)
      Create with the given bean type and Database instance.
      Parameters:
      type - The bean type
      server - The Database instance typically created via Spring factory or equivalent.
  • Method Details

    • db

      public Database db()
      Return the Database to use.
    • 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 server)
      Return typically a different Database to the default.

      This is equivalent to DB.byName(String)

      Parameters:
      server - The name of the Database. If this is null then the default Database is returned.
    • ref

      public T ref(I id)
      Creates an entity reference for this ID.

      Equivalent to Database.reference(Class, Object)

    • findById

      @Nullable public T findById(I id)
      Retrieves an entity by ID.
    • findByIdOrEmpty

      public Optional<T> findByIdOrEmpty(I id)
      Find an entity by ID returning an Optional.
    • deleteById

      public void deleteById(I id)
      Delete a bean by Id.
    • findAll

      public List<T> findAll()
      Retrieves all entities of the given type.
    • updateQuery

      protected UpdateQuery<T> updateQuery()
      Creates an update query.
      
      
        int rows =
            updateQuery()
            .set("status", Customer.Status.ACTIVE)
            .set("updtime", new Timestamp(System.currentTimeMillis()))
            .where()
              .gt("id", 1000)
              .update();
      
       

      Equivalent to Database.update(Class)

    • query

      protected Query<T> query()
      Creates a query.

      Equivalent to Database.find(Class)

    • nativeSql

      protected Query<T> nativeSql(String nativeSql)
      Creates a native sql query.
    • query

      protected Query<T> query(String ormQuery)
      Creates a query using the ORM query language.