Я нашел этот код для универсального интерфейса 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: добавлен вопрос.Обычно идентификаторы встречаются в реализациях, которые не зависят от СУБД (XML, простой файл ...)?