|
|
|
Установка связи ManyToOne через ID в Hibernate
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите пожалуйста можно ли в Hibernate установить связь ManyToOne через ID а не через объект. Например есть сущность User (One) и Post (Many). И нужно чтобы связь устанавливалась не через объект postDao.setUser(user) а через ID postDao.setUser(id). Можно ли так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 13:04:21 |
|
||
|
Установка связи ManyToOne через ID в Hibernate
|
|||
|---|---|---|---|
|
#18+
Можно. Просто @ManyToOne не используй и всё. Замапь Foreign Key как обычное Long свойство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 13:16:02 |
|
||
|
Установка связи ManyToOne через ID в Hibernate
|
|||
|---|---|---|---|
|
#18+
Во-первых, совершенно не понял при чем здесь DAO? Связь устанавливается на уровне сущности (Entity). Во-вторых, если я верно понимаю, то ID пользователя у вас уже существует в таблице, и связанной с ним сущности, POSTS. Если так, и вам нужен только ID, то ничего делать не надо, "связь" уже есть. Более того, исходя из вашей постановки задачи - вам не хочется тянуть более никаких полей из USER, кроме ID, которое уже и так есть в POSTS. Если же имелось в виду что-то вроде экономии на объектах, то для этого есть lazy инициализация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 13:20:45 |
|
||
|
Установка связи ManyToOne через ID в Hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz , а что если связь ManyToOne нужна. Я пробовал добавлять свойство userId в Post но связь ManyToOne не удалял. Так не работает добавление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 16:25:19 |
|
||
|
Установка связи ManyToOne через ID в Hibernate
|
|||
|---|---|---|---|
|
#18+
z3r9 Blazkowicz , а что если связь ManyToOne нужна. Я пробовал добавлять свойство userId в Post но связь ManyToOne не удалял. Так не работает добавление. У вас куча разнообразных проблем из-за непонимания ORM, которые вы все характеризовали термином "не работает", и при этом спрашиваете, как сделать так чтобы ваше решение проблемы работало. Другие решения принципиально не рассматриваются? Почему не подходит lazy свойство? Почему обязательно по id надо грузить? При чем тут "добавление", если вопрос был про загрузку. Объясните проблему полностью. А не кусками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 16:29:06 |
|
||
|
Установка связи ManyToOne через ID в Hibernate
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПри чем тут "добавление", если вопрос был про загрузку. Это из другого поста. К этому отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 16:33:21 |
|
||
|
Установка связи ManyToOne через ID в Hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz , использую JSF и хочу при добавлении записи установить связь @ManyToOne. В JSF в теге <h:selectOneMenu/> используя конвертер можно установить связь @ManyToOne через объект . Но мне не нужен выбор а нужно просто скрыто задать пользователя или еще что-то. У кнопки есть тег <f:setPropertyActionListener /> но в нем нельзя использовать конвертер вот и хочу через ID установить связь либо в бине конвертировать. Так можно сделать используя тег <h:selectOneMenu/> но мне так не подходит: Код: java 1. 2. 3. 4. 5. Пробовал создавать свойство userId в Post и добавлять так: Код: java 1. 2. 3. 4. 5. Не работает. Наверное так просто нельзя делать чтобы и @ManyToOne и само поле было в сущности Post. Что касается lazy инициализации. То ли вопрос мой не понят, то ли я не понимаю как использовать lazy инициализацию для добавления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 17:12:38 |
|
||
|
Установка связи ManyToOne через ID в Hibernate
|
|||
|---|---|---|---|
|
#18+
z3r9, Вот этого должно быть достаточно. Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 17:27:55 |
|
||
|
Установка связи ManyToOne через ID в Hibernate
|
|||
|---|---|---|---|
|
#18+
Blazkowicz , спасибо большое за помощь, раньше так пробовал. Хоть не совсем то, то есть тут все равно идет конвертация id в объект. То есть придется в бине переопределять метод save везде где нужны связи типа пользователя. А так если можно было бы на JSF страничке задать, не пришлось бы лишний код писать в бине. Ну ладно, и так сойдет может в новых версиях JSF сдделают конвертер в теге <f:setPropertyActionListener />. Спасибо всем за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 22:15:00 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38453751&tid=2128273]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
213ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 526ms |

| 0 / 0 |
