Преимущества ORM в том, что я могу сопоставлять таблицы базы данных с объектами Java. Если я использую HQL для написания пользовательских инструкций, тогда в чем смысл? Я также могу написать обычные SQL-запросы и использовать ResultSets?Каковы преимущества использования HQL?
ответ
Ну, в основном потому, что иногда невозможно (или очень сложно) писать запросы, используя другие альтернативы. Затем вам нужно вернуться к альтернативе HQL.
У HQL есть, как недостаток, тот факт, что вы записываете строки с ним. Поэтому рекомендуется использовать другие стратегии. Но иногда это самый быстрый способ его реализации.
Я также хотел бы сказать вам, чтобы прочитать этот пост, который широко обсуждался о HQL уже: JPA and Hibernate - Criteria vs. JPQL or HQL
HQL является единственной альтернативой выйти из мало-мальски Performace оставил в спящий режим.
Если у вас большой стол со многими строками, и все, что вам нужно, это идентификатор и описание, то вам лучше с hql. Вы можете заполнить pojo информацией о двух столбцах, и если вы используете hibernate 4, у вас есть своего рода тип safty.
запрос:
final TypedQuery<Pojo> query = em.createQuery(new StringBuilder()
.append("SELECT new ").append(Pojo.class.getName())
.append("(tbl.id, tbl.desc) FROM ")
.append(BigTable.class.getName()).append(" tbl ")
.append("WHERE tbl.id between :start and :end ")
.toString(),
Pojo.class
);
List<Pojo> list = query.getResultList();
- 1. Каковы преимущества использования Qt?
- 2. Каковы преимущества использования Generics?
- 3. Каковы преимущества использования Elixir
- 4. Каковы преимущества использования scrapyd?
- 5. Каковы преимущества использования WCF?
- 6. Каковы преимущества использования sessionStorage?
- 7. Каковы преимущества/преимущества использования Python 3?
- 8. Каковы преимущества (преимущества) использования Cassini вместо IIS?
- 9. Каковы преимущества использования enum-flags?
- 10. Каковы преимущества использования студии Android
- 11. Каковы преимущества использования класса приложения?
- 12. Каковы преимущества использования Cross Join?
- 13. Каковы преимущества использования класса MongoCredential?
- 14. Каковы преимущества использования конструктора копирования?
- 15. BindingSource - каковы преимущества использования BindingSource
- 16. Каковы наилучшие преимущества использования Pinax?
- 17. Каковы преимущества использования boost :: any_range?
- 18. Каковы преимущества использования Oracle Designer?
- 19. Каковы преимущества использования javascript-связки?
- 20. Каковы преимущества использования внутренних свойств?
- 21. Каковы преимущества/недостатки использования Maven?
- 22. Каковы преимущества/недостатки использования CTE?
- 23. Каковы преимущества использования находчивых маршрутов?
- 24. Каковы преимущества и недостатки использования Global.asax?
- 25. Каковы преимущества и недостатки использования DLL?
- 26. Каковы преимущества использования fips для JCE?
- 27. Каковы преимущества использования интерфейса в C#?
- 28. Каковы преимущества использования опции «option explict»?
- 29. Каковы преимущества использования WPF над Windows Forms?
- 30. Каковы преимущества использования Tomcat Client Deployer?
SQL извлекает строки. HQL извлекает entites/objects, выполняя всю работу за вас. –
Если я пишу свой собственный HQL и извлекаю столбец, который является результатом вычисления: 'table.a column.a - table.b column.b', то у меня есть столбец, который нельзя сопоставить, потому что это настраиваемый результат? – ThreaT
В зависимости от результата операции Hibernate сопоставляет его некоторому подтипу 'Object', возможно,' Integer' или 'Long'. –