001package gu.sql2java;
002
003import gu.sql2java.exception.ObjectRetrievalException;
004
005public interface IKeyCache<B extends BaseBean> {
006    /**
007     * 删除cache中指定的记录
008     * @param bean
009     */
010    public void remove(B bean);
011    /**
012     * 向cache中更新数据
013     * @param bean
014     * @see Constant.UpdateStrategy
015     */
016    public void update(B bean);
017    /**
018     * 加载主键或索引(keys)指定的记录,如果缓存中没有则从数据库中查询<br>
019     * 数据库中没有找到则抛出异常
020     * @param keys primary keys
021     * @return B
022     * @throws ObjectRetrievalException
023     */
024    public B getBean(Object... keys)throws ObjectRetrievalException;
025    /**
026     * 加载主键或索引(keys)指定的记录,如果缓存中没有则从数据库中查询<br>
027     * 数据库中没有找到则返回{@code null}
028     * @param keys primary keys
029     * @return B
030     */
031    public B getBeanUnchecked(Object... keys);
032}