В ответ на вопрос о модульном тестировании моего POJO:
public class MyPojo{
private final Object interestingData;
MyPojo(Object data){
interestingData = data;
}
//Methods etc...
}
Hibernate заполняет последнее поле, а частный конструктор пакета предназначен только для модульного тестирования.Я хочу дать конструктору другие объекты для выполнения логики, которая должна быть насмешливой в тестах.Например,
public class MyPojo{
private final Object interestingData;
private final ILogicEngine engine;
MyPojo(Object data, ILogicEngine engine){
interestingData = data;
this.engine = engine
}
//Methods etc...
}
Как правильно / легко перейти в режим гибернации для подачи «движка» в каждый POJO?Spring кажется излишним, так как в производстве будет только один двигатель, я делаю это только для тестирования.Должен ли я каким-то образом вводить ILogicEngine через MyPojoUserType?(не уверен, как это будет работать, так как я сам его не создаю, hibernate делает)
Или это вонючий, и я должен держать объекты, представляющие данные БД, чистыми и оборачивать их для работы механизмов?*