powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / hibernate анотациями
12 сообщений из 12, страница 1 из 1
hibernate анотациями
    #37727911
bonifatio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите разобраться с hibernate анотациями
есть таблицы:

Код: html
1.
2.
3.
4.
 table
 id  userId levelId  ............. txt     
 1   Вася  уровень1
 2   Вася  уровень2 



отношение многие ко многим
Код: html
1.
2.
3.
4.
 user_levels 
 id userId   levelId     typeId date
 1   Вася   уровень1  1         2
 2   Вася   уровень2  1         3



Код: html
1.
2.
3.
4.
5.
 table_level
 id              name
 уровень1    высокий
 уровень2    низкий
 уровень3    средний



Код: html
1.
2.
3.
 table_user
 id       lastName
 Вася   Пупкин




Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
@Entity
public class table implements Serializable {
    @ManyToMany(
        targetEntity=org.hibernate.test.metadata.manytomany.user_levels.class,
        cascade={CascadeType.PERSIST, CascadeType.MERGE}
    )
    @JoinTable(
        name="user_levels",
        joinColumns=@JoinColumn(name="userId"),
                          @JoinColumn(name="levelId"),
        inverseJoinColumns=@JoinColumn(name="")
    )
    public Collection getuser_levels() {
        return user_levels;
    }
    ...
} 
...
Рейтинг: 0 / 0
hibernate анотациями
    #37727968
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос какой? Правильно ли составлен маппинг? Кажется что нет.
Придерживайтесь общепринятных Java Coding Convention. Классы называеются с заглавной буквы. Подчеркивания не используются.
...
Рейтинг: 0 / 0
hibernate анотациями
    #37727972
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bonifatio,
id и UserID - это число
...
Рейтинг: 0 / 0
hibernate анотациями
    #37728032
bonifatio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczВопрос какой? Правильно ли составлен маппинг? Кажется что нет.
Придерживайтесь общепринятных Java Coding Convention. Классы называеются с заглавной буквы. Подчеркивания не используются.
Исправлюсь. Вопрос про составление маппинга. в таблице table userId levelId - не являются праймери ID, в userlevels userId и levelId тоже не праймери ID. но мне необходимо связать эти таблицы по этим параметрам.
...
Рейтинг: 0 / 0
hibernate анотациями
    #37728065
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Entity - User
targetEntity - Level
JoinTable - user_levels
JoinColumn - userId
inverseJoinColumn - userId
...
Рейтинг: 0 / 0
hibernate анотациями
    #37728117
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bonifatioтаблице table userId levelId - не являются праймери ID, в userlevels userId и levelId тоже не праймери ID. но мне необходимо связать эти таблицы по этим параметрам.
ну и что не праймери?
Пример Много ко Много
http://www.sql.ru/forum/actualthread.aspx?tid=923606&pg=1&mid=12204075&hl=create%20table%20a_b#12204075
...
Рейтинг: 0 / 0
hibernate анотациями
    #37728304
bonifatio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczEntity - User
targetEntity - Level
JoinTable - user_levels
JoinColumn - userId
inverseJoinColumn - userId

inverseJoinColumn - levelId?
...
Рейтинг: 0 / 0
hibernate анотациями
    #37728378
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bonifatioinverseJoinColumn - levelId?
Да, возможно.
http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/
...
Рейтинг: 0 / 0
hibernate анотациями
    #37728415
bonifatio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ребята! всем огромное спасибо за полезную информацию.
Нашел решение вопроса, если композитный ключ:
http://boris.kirzner.info/blog/archives/2008/07/19/hibernate-annotations-the-many-to-many-association-with-composite-key/
Но если немного расширить таблицу userlevels добавив еще один FK

userlevels
Код: html
1.
2.
3.
 id  userId   levelId     typeId date  nextUserId 
 1   Вася    уровень1  1         2     Петя
 2   Вася    уровень2  1         3     Коля



тоесть таблица users будет связана отношением один ко многим с userlevels
по userId и nextUserId.. как быть в этом случае?
...
Рейтинг: 0 / 0
hibernate анотациями
    #37728430
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bonifatioНо если немного расширить таблицу userlevels добавив еще один FK
и получим таблицу Excell не удовлетворяющую никаким правилам нормализации.
userlevels userIdВася Вася
...
Рейтинг: 0 / 0
hibernate анотациями
    #37728558
bonifatio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, посоветуйте пожалуйста как можно нормализировать данную таблицу
Код: html
1.
2.
3.
 id  userId   levelId     typeId date  nextUserId 
 1   Вася    уровень1  1         2     Петя
 2   Вася    уровень2  1         3     Коля
...
Рейтинг: 0 / 0
hibernate анотациями
    #37728876
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bonifatioPetro123, посоветуйте пожалуйста как можно нормализировать данную таблицу
Код: html
1.
2.
3.
 id  userId   levelId     typeId date  nextUserId 
 1   Вася    уровень1  1         2     Петя
 2   Вася    уровень2  1         3     Коля


1. Что толку, если вы не читаете что вам пишут. Выше давал ссылку на аннотации Много-много
2. В общем случае надо выделить колонку "Вася" в отдельную табл-справочник "Васей". Тогда userId будут цифры-ID
3. Более конкретно, надо от вас задачу\ВИ\преценденты. Для выделения главных сущностей-таблиц. Зайдите на ветку Проектирование, посмотрите с чего начинают.
Сабж - "hibernate анотациями" ни о чём не говорит.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / hibernate анотациями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]