![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| slolennnn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
Подскажите плиз как правильно делать такую обычную вещь.
Надо выбрать данные из таблицы например Users и таблицы Jobs, которые соединены между собой many-to-many через таблицу User_Job. Ну вот делаю запрос
Получается очень громоздко! Может есть более элегантный способ именно при помощи чистого JDBC? |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
А может при помощи чистого SQL?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| slolennnn |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
Ну а как потом выбрать эти данные из ResultSet
И получиться что из базы приходит десять кортежей типа 1- Иванов - Программист 1 - Иванов - Администратор 1- Иванов - Культурист А мне в прнципе это надо чтоб прочитать 1- Иванов, сделать User user = new User(1, "Иванов"): потом по 1 прочитать и сделать List listOfJobs.add("Программист","Администратор","Культурист"); и наконец user.setJobs(listOfJobs). |
||||
|
|||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 4 Всего: 57 |
Вообще LSD прав это надо делать через сам запрос, который кстати можно записать и немного иначе, но я не знаю детально архитектуру твоей БД
-------------------- менеджер по кодеврайтингу |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Тогда никак, кроме как руками.
JDBC не предоставляет никакой функциональности сверх того, что может обеспечить сервер СУБД. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 4 Всего: 57 |
slolennnn, подумай над запросом, я не совсем понял, что тебе и как надо, но если уметь правильно строить запросы, то можно очень легко уменьшать громоздкость кода
-------------------- менеджер по кодеврайтингу |
|||
|
||||
| Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 6 Всего: 16 |
Просто в JDBC такого, похоже не сделать. А почему бы не воспользоваться Hibernate, который умеет и это, и еще два миллиона вещей впридачу?
|
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 4 Всего: 57 |
Skipy, вообще и в JDBC это не сложно делается:
Даже если пришло: 1- Иванов - Программист 1 - Иванов - Администратор 1- Иванов - Культурист кидаем 1 в int id_buf, и пока он совпадает со следующим, rs.getInt("id"), в цикле в String job =+ rs.getString("jobs"), можно еще и фамилию подцепить к проверке, а когда приходит следующий id то итоговый job в наш List. Тут полно вещей для творчества, надо только маленько подумать и ничего сложного, ни один код не будет делать все за программиста или пользователя и так уже много делает -------------------- менеджер по кодеврайтингу |
|||
|
||||
| COVD2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 10.6.2006 Репутация: 1 Всего: 1 |
"А почему бы не воспользоваться Hibernate.."
- неужели SQL сложнее? |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 4 Всего: 57 |
COVD2, есть такие задачи, которые более связаны с языком нежели с запросом, и поэтому все через SQL не устроишь
-------------------- менеджер по кодеврайтингу |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |