package jef.database; import java.sql.SQLException; /** * A Sequence to implements Auto Increament * @author jiyi * */ public interface Sequence { /** * 将一个用过的Sequence序列归还到缓存中 * @param key */ public void pushBack(long key); /** * 获得下一个数据库的Sequence * @param conn * @return */ public long next(); /** * 清除Sequence中的缓存 */ public void clear(); /** * 如果是用Table模拟的Sequence,返回true * @return */ public boolean isTable(); /** * 如果是数据库原生Sequence,并且没有启用hilo、步长也为1的时候。 * @return */ boolean isRawNative(); /** * 返回表的名称或Sequence名称 * @return */ public String getName(); /** * 检查Sequence中的下一个值大于表中的最大值 * @param table * @param columnName */ boolean checkSequenceValue(String table,String columnName) throws SQLException; }