hibernate реализует ORM, может сам создавать новые объекты и приводить типы по своему усмотрению.
Т.к. он может связать ООП и реализационную базу данных, это не может привести к нарушению инкапсуляции java? Ведь реализация должна быть сокрыта а тут нет.
@Id
@Column(name= "id")
private Long id;
и потом hibernate может редактировать это поле.
я что-то запутался.
Вы абсолютно правы, hibernate нарушает принцип инкапсуляции. И даже более того, любая ORM заставляет нас использовать POJO классы, которые не имеют ничего общего с инкапсуляцией. Тем не менее, есть способ работать с БД, не нарушая принцип инкапсуляции - sql-speaking-objects.
Я никого ни к чему не призываю, просто есть разные подходы работы с БД. Однако некоторые программисты могут заметить, что на самом деле POJO классы - это не объекты, это данные, а, значит, там не может нарушатся принципы объектного проектирования. Такое суждение имеет право на жизнь, при таком подходе в программах перемешиваются данные и объекты, работающие с данными, но это уже не имеет ничего общего с ООП, потому что в ОО архитектуре есть только объекты, а данные хранятся всегда внутри объектов и никогда не выглядывают наружу.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Среда разработки IntelijIdea, подключение к MySqlВ БД таблица с названием books уже создана, не могу понять почему выдает такую ошибку!
Всем доброго времени сутокУ меня вопрос могу ли я изменить свойства $scope обычного контроллера из вне фреймворка? я использую socket io и приходящие...