| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > вопрос по JDBC |
| Автор: slolennnn 22.8.2006, 14:15 | ||
| Подскажите плиз как правильно делать такую обычную вещь. Надо выбрать данные из таблицы например Users и таблицы Jobs, которые соединены между собой many-to-many через таблицу User_Job. Ну вот делаю запрос
Получается очень громоздко! Может есть более элегантный способ именно при помощи чистого JDBC? |
| Автор: slolennnn 22.8.2006, 14:33 | ||||
Ну а как потом выбрать эти данные из ResultSet
И получиться что из базы приходит десять кортежей типа 1- Иванов - Программист 1 - Иванов - Администратор 1- Иванов - Культурист А мне в прнципе это надо чтоб прочитать 1- Иванов, сделать User user = new User(1, "Иванов"): потом по 1 прочитать и сделать List listOfJobs.add("Программист","Администратор","Культурист"); и наконец user.setJobs(listOfJobs). |
| Автор: Bulat 22.8.2006, 14:37 |
| Вообще LSD прав это надо делать через сам запрос, который кстати можно записать и немного иначе, но я не знаю детально архитектуру твоей БД |
| Автор: LSD 22.8.2006, 14:38 |
| Тогда никак, кроме как руками. JDBC не предоставляет никакой функциональности сверх того, что может обеспечить сервер СУБД. |
| Автор: Bulat 22.8.2006, 14:49 |
| slolennnn, подумай над запросом, я не совсем понял, что тебе и как надо, но если уметь правильно строить запросы, то можно очень легко уменьшать громоздкость кода |
| Автор: Skipy 24.8.2006, 14:20 |
| Просто в JDBC такого, похоже не сделать. А почему бы не воспользоваться Hibernate, который умеет и это, и еще два миллиона вещей впридачу? |
| Автор: Bulat 24.8.2006, 15:02 |
| Skipy, вообще и в JDBC это не сложно делается: Даже если пришло: 1- Иванов - Программист 1 - Иванов - Администратор 1- Иванов - Культурист кидаем 1 в int id_buf, и пока он совпадает со следующим, rs.getInt("id"), в цикле в String job =+ rs.getString("jobs"), можно еще и фамилию подцепить к проверке, а когда приходит следующий id то итоговый job в наш List. Тут полно вещей для творчества, надо только маленько подумать и ничего сложного, ни один код не будет делать все за программиста или пользователя и так уже много делает |
| Автор: COVD2 25.8.2006, 00:03 |
| "А почему бы не воспользоваться Hibernate.." - неужели SQL сложнее? |
| Автор: Bulat 25.8.2006, 10:14 |
| COVD2, есть такие задачи, которые более связаны с языком нежели с запросом, и поэтому все через SQL не устроишь |