Module io.ebean.api
Package io.ebean

Class 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.

    {@code
    
     public class CustomerFinder extends BeanFinder {
    • Field Detail

      • server

        protected final Database server
      • type

        protected final Class<T> type
    • Constructor Detail

      • 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 Detail

      • 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.
      • 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)

      • 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.