Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465

Как создать SQL-запросы с параметрами в Hibernate

15.11.2017, 23:41. Показов 3786. Ответов 10

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Подскажите пожалуйста как правильно в Hibernate прописать SQL-запрос с параметрами.
Без параметров я нашёл можно с помощью объекта SQLQuery, но вот параметры там устанавливать нельзя.
Потом ещё прочитал про PreparedStatement, для создания запросов с параметрами, но он для JDBC потому что работает с JDBC соединением:
Java
1
2
3
4
5
6
7
8
9
10
/2.PreparedStatement: предварительно компилирует запросы, 
            //которые могут содержать входные параметры
            PreparedStatement preparedStatement = null;
            // ? - место вставки нашего значеня
            preparedStatement = connection.prepareStatement(
                    "SELECT * FROM users where id > ? and id < ?");
            //Устанавливаем в нужную позицию значения определённого типа
            preparedStatement.setInt(1, 2);
            preparedStatement.setInt(2, 10);
            //выполняем запрос
А у меня так как Hibernate в функции должна открываться только транзакция, а от транзакции этот объект не работает.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.11.2017, 23:41
Ответы с готовыми решениями:

Hibernate. Как это будет в SQL
Здравствуйте. У меня есть запросы Hibernate 1.Criteria crit = sess.createCriteria(Cat.class); crit.setMaxResults(50); List cats =...

Запросы с параметрами на SQL 7.0
Народ, помогите!!!! если пишу запрос в Query Analyzer: select top 20 from...where number='1%' and name='aaa' то он выполняется меньше...

Создать SQL запросы
Помогите пожалуйста сделать запросы. Имеется база данных, состоящая из 4 таблиц. ПОСТАВЩИКИ: Hомеp поставщика, Фамилия, Рейтинг,...

10
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2773 / 491
Регистрация: 28.04.2012
Сообщений: 8,760
16.11.2017, 23:06
Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
у меня так как Hibernate
Что, документацию почитать никак?
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
16.11.2017, 23:40  [ТС]
Очень много всего, но конкретно по моей ситуации толкового и понятного не нашёл.

Цитата Сообщение от korvin_ Посмотреть сообщение
Что, документацию почитать никак?
Думал форумы для того чтобы новички могли спросить у уже опытных и знающих. Что бы доступно и на русском языке.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2773 / 491
Регистрация: 28.04.2012
Сообщений: 8,760
17.11.2017, 00:26
Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
Думал форумы
Не думай форумы. Думай мысли.

Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
Думал, форумы для того, чтобы новички могли спросить у уже опытных и знающих.
Форумы для обмена знаниями и опытом (ну и чтобы просто потрепаться). Пересказ документации — не обмен знаниями и опытом.

Добавлено через 2 минуты
Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
Что бы доступно и на русском языке.
Доступно — это за деньги, например. А основной язык программиста — английский, се ля ви.
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
17.11.2017, 00:28  [ТС]
Цитата Сообщение от korvin_ Посмотреть сообщение
Форумы для обмена знаниями и опытом (ну и чтобы просто потрепаться). Пересказ документации — не обмен знаниями и опытом.
Если так рассуждать, то людям без опыта, и начинающим делать здесь нечего
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2773 / 491
Регистрация: 28.04.2012
Сообщений: 8,760
17.11.2017, 00:35
Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
Если так рассуждать, то людям без опыта, и начинающим делать здесь нечего
Ну, если они спрашивают, сколько будет 2+2, то да, нечего.
0
17.11.2017, 05:16

Не по теме:

мне интересно, а почему на форум хибера то сразу не лезут, вопрос то по нему :D

0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
17.11.2017, 08:39  [ТС]
Цитата Сообщение от LeX Посмотреть сообщение
мне интересно, а почему на форум хибера то сразу не лезут, вопрос то по нему
Потому что он весь на английском и для человека недостаточно хорошо знающего его практически бесполезен

Добавлено через 4 минуты
Цитата Сообщение от korvin_ Посмотреть сообщение
сколько будет 2+2
Это ваше субъективное мнение, с "высоты" человека уже давно занимающегося программированием.
Думаю когда вы только начинали эти вопросы не казались вам таковыми.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2773 / 491
Регистрация: 28.04.2012
Сообщений: 8,760
17.11.2017, 09:15
Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
Это ваше субъективное мнение, с "высоты" человека уже давно занимающегося программированием.
Это мнение человека, умеющего пользоваться гуглом.

Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
Думаю когда вы только начинали эти вопросы не казались вам таковыми.
И я всегда находил ответы в документации или wiki и SO.
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
18.11.2017, 20:20  [ТС]
SQL запрос с параметрами в Hibernate создаётся также как и обычный SQL запрос, только при указании значения поля ставится не "=" как в SQL, а "=:" - как в HQL. Моя ошибка была в том, что я прописывал "=".
Перечитывать всю техническую документацию для этого не нужно - просто подсказали в чём ошибка.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public void updatePogoda(int idPogoda, Date date, int tNoh, int tUtro, int tDay, int tVeher,
                             int vlagnoste, int davlenie, int atmosfernaeYvleniyNoh,
                             int atmosfernaeYvleniyUtro, int atmosfernaeYvleniyDay,
                             int atmosfernaeYvleniyVeher, int skorostyVetra, int napravlenieVetra, int temperaturaVoda) throws SQLException {
        Session session=openTransactionSession();
 
        String sqlupdate="UPDATE pogoda set Data_=:date," +
                " t_noh=:tNoh, t_utro=:tUtro, t_day=:tDay, t_veher=:tVeher, " +
                "Vlagnosty=:vlagnoste, Davlenie=:davlenie, id_osadky_noh=:atmosfernaeYvleniyNoh," +
                "id_osadky_utro=:atmosfernaeYvleniyUtro, id_osadky_day=:atmosfernaeYvleniyDay, " +
                "id_osadky_veher=:atmosfernaeYvleniyVeher, Skorosty_vetra=:skorostyVetra, " +
                "Napravlenie_vetra=:napravlenieVetra, Temperatura_voda=:temperaturaVoda  WHERE id_pogoda=:idPogoda";
 
        SQLQuery query=session.createSQLQuery(sqlupdate).addEntity(PogodaEntity.class);
        query.setParameter("date", date);
        query.setParameter("tNoh", tNoh);
        query.setParameter("tUtro", tUtro);
        query.setParameter("tDay", tDay);
        query.setParameter("tVeher", tVeher);
        query.setParameter("vlagnoste", vlagnoste);
        query.setParameter("davlenie", davlenie);
        query.setParameter("atmosfernaeYvleniyNoh", atmosfernaeYvleniyNoh);
        query.setParameter("atmosfernaeYvleniyUtro", atmosfernaeYvleniyUtro);
        query.setParameter("atmosfernaeYvleniyDay", atmosfernaeYvleniyDay);
        query.setParameter("atmosfernaeYvleniyVeher", atmosfernaeYvleniyVeher);
        query.setParameter("skorostyVetra", skorostyVetra);
        query.setParameter("napravlenieVetra", napravlenieVetra);
        query.setParameter("temperaturaVoda", temperaturaVoda);
        query.setParameter("idPogoda", idPogoda);
 
        int result = query.executeUpdate();
        System.out.println("Rows affected update: " + result);
 
        closeTransactionSession();
    }
0
0 / 0 / 0
Регистрация: 11.01.2018
Сообщений: 1
11.01.2018, 19:35
вы знаете, любезный, прежде, чем накидываться на человека, вспомните, с чего сами стартовали. корона с вас не упала бы, если бы по-человечески к новичку отнеслись.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.01.2018, 19:35
Помогаю со студенческими работами здесь

Создать запросы на SQL языке
1.Выбрать товары,которые поставлялись в прошлом месяце. 2.Выбрать поставщика,поставившего больше всего товаров.

Создать запросы на SQL языке
Здравствуйте, Прошу помочь с запросами, все скрины тут Вопрос N7

Создать SQL запросы с объединением и перекрестными запросами
Поможет кто написать SQL запросы? Часть III Использование объединений 1. Произвести выборку автомобилей из двух полей «номер...

Создать базу данных в Accses и запросы sql
Создать базу данных в Accses и запросы sql БУДУ ОЧЕНЬ БЛАГОДАРЕН!!!! Тема разработки БД любая Задание: 1. Организовать выборку...

Перевести запросы SQL в запросы средствами реляционной алгебры
Ребята помогите, пожалуйста, перевести запросы SQL в язык реляционной алгебры. Курсак с утра сдавать, а я не понимаю как написать. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru