2014-10-16 2 views
-3

Как использовать подготовленный оператор в запросе Hibernate?Как использовать подготовленный оператор в запросе на спящий режим?

+0

Вам нужно узнать больше о 'Hibernate Queries'. Вы можете использовать «собственный SQL-запрос», создать 'named query', используя' HQL'. Посмотрите на это http://www.mkyong.com/hibernate/hibernate-parameter-binding-examples/ – OO7

ответ

4

По умолчанию Hibernate использует PreparedStatement. Вам не о чем беспокоиться. Не только Criteria, но и Hibernate использует PreparedStatement для createQuery (HQL) и createSQLQuery.

Редактировать

Query spSQLQuery = session.createSQLQuery("SELECT * FROM user_master WHERE user_name = :param1"); 
spSQLQuery.setString("param1","vicky.thakor"); 
spSQLQuery.list(); 
+0

SELECT gl_acc_no, SUM (случай, когда debit_credit = '56', а затем local_currency) Debit, SUM (случай, когда debit_credit = ' 57' , то local_currency конца) кредит, счетчик (случай, когда debit_credit = '57' , то debit_credit конца) CreditCount, счетчик (случай, когда debit_credit = '56' , то debit_credit конца) DebitCount ОТ wee_fas_transaction_detail_det, где document_no в (» 1643' , '1644', '1645', '1646', '1647', '1648', '1649', '1650', '1651', '1652', '1653', '1654', '1655' , '1656', '1657') GROUP BY gl_acc_no; Это мой запрос, как возвращать несколько значений coluumn в java – user3699218

+0

Если вы создаете запрос, добавляя строку, тогда он будет кэшироваться таким же образом, если некоторые данные будут изменены в предыдущем запросе, тогда он будет снова кэшироваться .. используйте 'setParameter' , 'setString' и т. д. –

+0

может у меня привести пример для этого, я могу легко понять – user3699218