![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| nulay |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 12.3.2008 Репутация: нет Всего: нет |
Доброго времени суток
Столкнулся с проблемой - хочу в маппинге выстроить класс у которого будут значения из одной таблицы и одно значение из другой ну например класс пользователь и у этого класса есть поле название группы, которое хранится в другой таблице БД , я так понимаю что это делает ассоциация one-to-one или я ошибаюсь - если кто знает как это сделать хелп ми <hibernate-mapping > <class name="User" table="User"> <id name="id" column="id"> <generator class="native"/> </id> <property name="login" column="login"/> <property name="password" column="password"/> <property name="groupName" column="groupName" type="string"/> ???????????????????????????? - вот как это поле из таблицы Group достать???????????????????? </class> </hibernate-mapping> |
|||
|
||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Зависит от структуры базы. Опишите подробнее, как у вас устроено, что куда ссылается.
|
|||
|
||||
| nulay |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 12.3.2008 Репутация: нет Всего: нет |
На самом деле это упрощенный пример - ну примерно где-то так
CREATE TABLE User( id int, login varchar(255), password varchar(255), id_group int ) id_group - forent key на Group.id CREATE TABLE Group( id int, name varchar(255) ) Добавлено через 1 минуту и 52 секунды Можно конечно создать объект Group - и работать с ним - но появилась сам интерес - возможно ли не создавая объект разместить переменную - думаю возможно - но найти как не могу |
|||
|
||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Нужно прописать ассоциацию OneToOne, объявить сущность для группы, и у юзера вызывать
|
|||
|
||||
| nulay |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 12.3.2008 Репутация: нет Всего: нет |
ну вот я об этом и говорю - что если есть класс group - а допустим его нет а есть только User -
class User{ private Integer id; private String password; private String login; private String groupName; } и все. как в переменную groupName в мапинге записать значения из таблицы Group.name?????? В этом и вопрос - а через другой объект это понятно элементарно |
|||
|
||||
| MisterCleric |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Привет. Ну если уж такой интерес, то есть два пути:
1. Создаем в базе VIEW, который объекдиняет поля из разных таблиц. И меппим сущность на эту вьюху. 2. смотрим в сторону Hibernate Formula Но такая архитектура в корне не верна. Если уж у тебя таблицы завязаны между собой, то не ленись точно также их завязать и на уровне сущностей. Для того оно ORM и нужно. Потом меньше проблем будет. Первый случай я использую в таких случаях: когда надо отобразить много данных из разных связных сущностей и хочеться одним махом, при чем не всегда эти сущности у меня повязаны. Или всякого рода таблички с сортировкой, фильтрацией и пейдженированием. Тогда я все данные во вьюхе представляю строковыми значениями и связываю все таблицы, данные из которых хочет увидеть клиент. И тогда намного проще навесить на такой запрос все перечисленные рестрикшены. Второй случай использую, если нужно что-то вычислить или наверняка у меня не будет связи между этими не то что сущностями, а даже и таблицами. Например:
Или
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
||||
|
|||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |