Если вы хотите получить имя ученика в классе в спящем режиме, вы можете попробовать следующее HQL ,
select s.firstName from Student s where s.divisionId = 4
Это даст вам список имен только студентов. Таким образом, фамилия, возраст и т. д. не будут загружены. Следовательно, для сценария в ваших вопросах вы можете добиться хорошей производительности, используя hibernate.
Теперь, когда вам нужно List<Students>
деления 4, используйте следующий запрос:
select s from Student s where s.divisionId = 4
Представьте себе, что вы пишете этот запрос в SQL
и конвертируете каждый столбец в соответствующие ему свойства Java и т. Д. Все вышеперечисленные тезисы делают это за вас выше.Таким образом, вы можете настроить гибернацию в соответствии с вашими требованиями.
Когда речь идет о производительности гибернации, она немного медленнее, чем традиционный JDBC, но гораздо удобнее и эффективнее, чем JDBC.В основном, преимущества, которые вы получаете от гибернации, перекрывают меньшие недостатки.
Вы должны узнать о подводных камнях производительности в спящем режиме, таких как Ленивая загрузка , и постараться их избежать.