|
|
|
Hibernate, spring, struts - передать созданный обьект или его id
|
|||
|---|---|---|---|
|
#18+
Hibernate, Spring, Struts. В некотором struts action создаю экземпляр некоего класса CallEvent( класс с нек полями, замапленный через Hibernate к БД). Добавляю этот класс( новую запись) в БД: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Теперь мне нужно передать ссылку на новую запись в БД в другой action. Пришло на ум два варианта. 1. Передать id новой записи через параметры. Так вот, а как мне получить id новой записи? id - счетчик. 2. Передать через ActionForm. Получится ли? В форму добавил поле типа CallEvent, геттер и сеттер, в первом action делаю setCallEvent(event), в следующем action - getCallEvent(). Итог: словил NullPointerException. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 20:16:34 |
|
||
|
Hibernate, spring, struts - передать созданный обьект или его id
|
|||
|---|---|---|---|
|
#18+
В хибере после добавления entity в базу можно вызвать метод getGeneratedKey() если я не ошибаюсь.... А передать его другому экшену можно через некий буфер системы - добавил, поместил туда ид и имя класс сущности, а другой экшен пусть смотрит, что добавили и какого это типа... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 22:01:00 |
|
||
|
Hibernate, spring, struts - передать созданный обьект или его id
|
|||
|---|---|---|---|
|
#18+
avdjВ хибере после добавления entity в базу можно вызвать метод getGeneratedKey() если я не ошибаюсь.... А можно подробнее про getGeneratedKey()? Доку не нашел про это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 22:35:26 |
|
||
|
Hibernate, spring, struts - передать созданный обьект или его id
|
|||
|---|---|---|---|
|
#18+
Вот собственно пример /** * Добавить объект в базу. * @param o объект. * @return сгенерированный ключ объекта. */ public final Integer save(Object o) { Integer result = null; if (o == null) return result; validateOnAdd(o); Session sess = HibernateUtil.currentSession(); Transaction tx = sess.beginTransaction(); sess.save(o); result = (Integer)sess.getIdentifier(o); tx.commit(); HibernateUtil.closeSession(); return result; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 23:26:46 |
|
||
|
Hibernate, spring, struts - передать созданный обьект или его id
|
|||
|---|---|---|---|
|
#18+
Спасиба, работает! Только я переделал немного код: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2007, 09:26:06 |
|
||
|
Hibernate, spring, struts - передать созданный обьект или его id
|
|||
|---|---|---|---|
|
#18+
А я наифный думал что можно так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 19:24:00 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34829338&tid=2144513]: |
0ms |
get settings: |
14ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 364ms |
| total: | 543ms |

| 0 / 0 |
