package org.easyframe.enterprise.spring; import jef.database.IQueryableEntity; import jef.database.meta.ITableMetadata; /** * 用于生成唯一标识 的工具类 * @author jiyi * */ public interface UniqueIdManager { /** * 获取一个自增键值 * @param meta 区分sequence序列的关键字,如“表名”。 * @return 相同key的情况下,值不会重复 */ long nextLong(ITableMetadata meta); /** * 获取一个自增键值 * @param key 区分sequence序列的关键字,如“表名”。 * @return 相同key的情况下,值不会重复 */ long nextLong(Class<? extends IQueryableEntity> key); /** * 获取一个自增键值 * 不处理schema重定向 * @param seqName * @return */ long nextLong(String seqName); /** * 获取一个自增键值 * @param dbKey 指定数据源 * @param seqName Sequence名称 * @return */ long nextLong(String dbKey,String seqName); /** * 获取一个自增键值,无需key,默认全局累加生成键值 * @return 不带参数的nextLong()方法返回的值不会重复。 */ long nextLong(); /** * 获取一个长度为36位的不重复的文本键值 * @return */ String nextGUID(); }