Как использовать подготовленный оператор в запросе Hibernate?Как использовать подготовленный оператор в запросе на спящий режим?
ответ
По умолчанию 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();
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
Если вы создаете запрос, добавляя строку, тогда он будет кэшироваться таким же образом, если некоторые данные будут изменены в предыдущем запросе, тогда он будет снова кэшироваться .. используйте 'setParameter' , 'setString' и т. д. –
может у меня привести пример для этого, я могу легко понять – user3699218
Вам нужно узнать больше о 'Hibernate Queries'. Вы можете использовать «собственный SQL-запрос», создать 'named query', используя' HQL'. Посмотрите на это http://www.mkyong.com/hibernate/hibernate-parameter-binding-examples/ – OO7