Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java EE (J2EE)

Войти
Регистрация
Восстановить пароль
 
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 693
#1

Выполнение запроса в Hibirnate - Java EE

17.08.2016, 16:00. Просмотров 219. Ответов 7
Метки нет (Все метки)

Здравствуйте. Помогите, пожалуйста, как можно решить следующую проблему.
Есть база данных. Нужно вывести из программы содержание таблицы Tariffs_have_TariffOption. Для понимание работы фремворка, я бы хотел вывести это информацию двумя способами. Первый - это без создания класса Tariffs_have_TariffOption, второй с помощью создания этого класса.

Вот такой запрос я бы хотел исполнить.

SQL
1
2
3
4
5
6
7
8
SELECT
  Tariffs.title      AS tariff,
  TariffOption.title AS tariffOption
FROM Tariffs
  INNER JOIN Tariffs_have_TariffOption ON Tariffs.id = Tariffs_have_TariffOption.Tariffs_id
  INNER JOIN TariffOption ON Tariffs_have_TariffOption.TariffOption_id = TariffOption.id
WHERE Tariffs.title = 'Basic'
GROUP BY tariff, tariffOption;
Как его выполнить в хибернте без классов-сущностей?

Насчет второго метода, я заготовил класс.

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
@Entity
@Table(name = "Tariffs_have_TariffOption")
public class Tariff_has_TariffOption {
 
    @Column(name = "TariffOption_id")
    private long TariffOption_id;
 
    @Column(name = "Tariffs_id")
    private long Tariffs_id;
 
    public Tariff_has_TariffOption() {
    }
 
    public Tariff_has_TariffOption(long TariffOption_id, long Tariffs_id) {
        this.TariffOption_id = TariffOption_id;
        this.Tariffs_id = Tariffs_id;
    }
 
    public long getTariffOption_id() {
        return TariffOption_id;
    }
 
    public long getTariffs_id() {
        return Tariffs_id;
    }
 
    public void setTariffOption_id(long tariffOption_id) {
        TariffOption_id = tariffOption_id;
    }
 
    public void setTariffs_id(long tariffs_id) {
        Tariffs_id = tariffs_id;
    }
}
Онако тут я не могу понять как связать вышепредставленный запрос и класс-сущность.
0
Миниатюры
Выполнение запроса в Hibirnate  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2016, 16:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выполнение запроса в Hibirnate (Java EE):

Выполнение запроса и построитель выражений. Поля появляются, а значения не вытягивает в поля запроса - MS Access
Запрос НАРАХОВАНО Поля для значений появляются, а значения не вытягивает в поля запроса, нужное не расчитывает, хотя и таблицы заполнены....

выполнение запроса - C# ASP.NET
два случая один работает второй нет :( почему?? что делать?? 1. обращение к таблице в аксесе... sSQL = "SELECT * from TR110 Where...

Выполнение запроса - PHP
Я скриптом вывожу на страницу таблицу, информация из которой все время выбирается в случайно порядке ( ORDER BY RAND() ). Мне нужно чтоб...

Выполнение запроса - C++ Qt
QSqlQuery query("SELECT login_user FROM users WHERE password_user = passwordLine->text()"); есть запрос помогите сделать следущие: по...

Выполнение запроса - Delphi БД
Доброго времени суток. В общем есть БД Access. В ней есть таблица и запрос. В Delphi на форме есть DataSource, ADOQuery, ADOConnection...

Выполнение запроса в форме - C#
Добрый день! уважаемые форумчане такая проблема. пытаюсь вывести результат запроса в текст бокс, но во время обработки происходит...

7
KEKCoGEN
Эксперт Java
1962 / 1837 / 441
Регистрация: 28.12.2010
Сообщений: 7,377
17.08.2016, 17:07 #2
Цитата Сообщение от parkito Посмотреть сообщение
Как его выполнить в хибернте без классов-сущностей?
Hibernate это ORM фреймворк. То есть он создан для того чтобы мапить таблицы в ваши классы, поэтому если вы хотите просто вытащить resultSet, зачем вам хибернейт?
0
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 693
17.08.2016, 17:40  [ТС] #3
KEKCoGEN, Мне просто интересна сама возможность. Нпример, нужно быстро что-то вывести, а структуру разрабатывать долго.
0
KEKCoGEN
Эксперт Java
1962 / 1837 / 441
Регистрация: 28.12.2010
Сообщений: 7,377
17.08.2016, 17:45 #4
parkito, можно получить коннекшн к БД из EntityManager и использовать обычный JDBC подход. Это уже будет не хибернейт.

Добавлено через 2 минуты
Вот тут про native ещё пишут....примеров в гугле полно
0
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 693
17.08.2016, 17:50  [ТС] #5
KEKCoGEN, Хорошо. Если произвольный запрос - это не к хибернейту. А как через хибернейт увидеть "Отпции тарифных планов" Я не понимаю, как с сущностями в этой ситуации рабоать. Окей, есть все три класса. Тогда выборку нужно производить руками с Java без помощи ORM?
0
KEKCoGEN
Эксперт Java
1962 / 1837 / 441
Регистрация: 28.12.2010
Сообщений: 7,377
17.08.2016, 18:03 #6
parkito, вы должны описать отношение классов так же как и отношение сущностей. Гуглите аннотации @OneToMany, @ManyToOne
Затем когда замапите все, сделаете обычную выборку в класс Tariffs_have_TariffOption и получите всю нужную информацию
0
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 693
17.08.2016, 22:23  [ТС] #7
KEKCoGEN, Хорошо. Допустим с отношениями сущностей я разберусь. А что значит сделать выборку в классе? Как это ораганизовать все еще не понимаю.
0
KEKCoGEN
Эксперт Java
1962 / 1837 / 441
Регистрация: 28.12.2010
Сообщений: 7,377
17.08.2016, 23:03 #8
parkito, в любом хеллоу ворлде хибернейта это делают. Как вы учите хибер?
0
17.08.2016, 23:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2016, 23:03
Привет! Вот еще темы с ответами:

Выполнение запроса sql - Delphi БД
При экспорте или при выполнение запроса, если имя фотографии повторяется(поле ph.naimphoto), его не выводит. В коде вроде этого не...

Выполнение запроса на добавление. - MS Access
Как отключить следующее сообщение при выполнении запроса на добавление?

Выполнение запроса по событию - MS Access
Добрый вечер! В общем такая проблема, есть форма ПЛАТЁЖ на ней есть выпадающий список НАЛОГ например с двумя параметрами. Есть список...

Выполнение SQL запроса. - Кроссплатформенная разработка
День добрый. У меня проблема в выполнении sql запроса. Вроде все сделано по тысяче одинаковых примеров, однако же в sort у меня в итоге...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru