Чтобы написать DAO, обычно вы создаете интерфейс, который определяет поведение DAO.
interface MyObjDao {
public int save(MyObj myObj);
public void delete (MyObj myObj);
// as many methods as you need for data acess
}
и затем вы создаете фактическую реализацию
class MyObjDaoImpl implements MyObjDao {
// implement methods here
}
Преимущества этого:
1) Поскольку вы определяете интерфейс, имитация DAO проста для любой среды тестирования
2) Поведение не привязано к реализации - ваш DAOImpl может использовать jdbc, hibernate, что угодно
Ваш класс Persistance
действительно является базовым классом для всех сущностей, т. Е. Все экземпляры классов которого сохраняются, где вы хотите представлять некоторые общие поля в одном месте. Это хорошая практика - я бы не назвал класс Persistance
, что-то вроде BaseEntity
лучше (ИМХО). Убедитесь, что у вас есть javadocs, которые объясняют цель класса.
Что касается имен переменных, если они имеют смысл и описывают, для чего они нужны, это хорошо.
так что dateCreated
или createdDate
оба в порядке; они оба передают идею.