加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

一个支持泛型的DAO接口类

发布时间:2020-12-15 00:27:47 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /** * Defines a generic DAO interface. * * @author javier * * @param T * The type this DAO handles. * @param ID * The type of the id of the

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

 
/**
 * Defines a generic DAO interface.
 * 
 * @author javier
 * 
 * @param <T>
 *            The type this DAO handles.
 * @param <ID>
 *            The type of the id of the handled entity.
 */
public interface DAOInterface<T,ID extends Serializable>
{

    /**
     * Makes the given entity persistent.
     *
     * @param entity The entity to persist.
     * @throws When the quota of instances for that entity was exceeded.
     */
    void makePersistent(T entity) throws QuotaExceededException;

    /**
     * Makes the given entity transient.
     *
     * @param entity The entity to make transient.
     */
    void makeTransient(T entity);

    /**
     * @return the number of matching entities.
     */
    int count(Filter filter);

    /**
     * Returns a single entity which has the given ID or throws an
     * <code>EntityNotFoundException</code> if no matching entity is found.
     * 
     * @param id
     *            The ID of the entity to return.
     * @return The entity.
     */
    T findById(ID id) throws EntityNotFoundException;

    /**
     * Returns all matching entities of type <code>T</code>.
     * 
     * @param filter
     *            The <code>Filter</code> to use.
     *
     * @return An ordered <code>List</code> with the entities.
     */
    List<T> find(Filter filter);

    /**
     * Returns all entities of type <code>T</code>.
     * 
     * @return An ordered <code>List</code> with the entities.
     */
    List<T> findAll();

    /**
     * Returns a page of entities.
     * 
     * @param filter
     *            The <code>Filter</code> to use.
     * @param startRow
     *            The offset.
     * @param pageSize
     *            The number of entities to return.
     *
     * @return A <code>Pair</code> of values. The first value is the
     *         <code>List</code> of entities and the second one if the total
     *         number of existing entities.
     */
    Pair<List<T>,Integer> findPaged(Filter filter,int startRow,int pageSize);

    /**
     * Flushing is the process of synchronising the underlying persistent
     * store with persistable state held in memory. 
     */
    void flush();
}
 

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读