Прежде всего, для большинства приложений существует компромисс между высокой производительностью и низким объемом памяти.Если вы хотите и то и другое, вам обычно приходится учитывать другие компромиссы, например, удобство обслуживания, как в вашем приложении с JDBC.
Вы можете поспорить с коллегами, что для всех отношений можно указать тип выборки:
- EAGER - выбор поля при загрузке компонента
- LAZY - выбор поля только при использовании поля
Это происходит, когда компонент находится под контролемменеджера организации.Если вы извлекаете объекты удаленно, дополнительная загрузка LAZY невозможна.Но вопрос о том, является ли Hibernate решением для ваших требований, во многом зависит от характера вашего приложения.
Если у вас есть веб-приложение и огромные графы объектов, это будет большим преимуществом, если вы используете JPA / Hibernate и, например,что-то вроде SEAM, таким образом, имеет все объекты под управлением диспетчера сущностей (даже в ваших управляемых bean-компонентах JSF).Там вам не нужно заботиться о какие поля в вашем графе объектов действительно требуются, и поэтому вам не нужно тратить ни одной строки кода в этом вопросе.
Но если выНапример, проведите научные или финансовые расчеты, и, конечно, быстрее получите все, что вам нужно, с помощью настраиваемых (и больших, сложных и сложных в обслуживании) операторов SQL.Для своих разработок я использую JPA (и в бэкэнде Hibernate), если это возможно.Более чистый код важнее для нас, чем несколько микросекунд ускорения вычислений.