我在浏览时发现了这个通用 DAO 接口的代码:
public interface GenericDAO<T, ID extends Serializable> {
Class<T> getEntityClass();
T findById(final ID id);
List<T> findAll();
List<T> findByExample(final T exampleInstance);
List<T> findByNamedQuery(
final String queryName,
Object... params
);
List<T> findByNamedQueryAndNamedParams(
final String queryName,
final Map<String, ?extends Object> params
);
int countAll();
int countByExample(final T exampleInstance);
T save(final T entity);
boolean delete(final T entity);
}
是否有任何理由让方法使用默认访问修饰符(类/包:是,子类/世界:否)?
PS:一个附加的问题。ID 通常在不依赖于 RDBMS(XML、平面文件...)的实现中找到吗?