|
|
|
Проблема со связью @OneToOne
|
|||
|---|---|---|---|
|
#18+
Добрый день, У меня проблема со связью @OneToOne с JPA. Мне надо: 1) Чтобы чайлд объект поднимался одновременно с родительским (FetchType.EAGER). 2) Если чайда нет в базе, после вычитывания родительского объекта я проверял на нюль чайлда и если нюль, то сетил в него новый инстанс. В итоге чалд не понимается из базы и не записывается в него. Попробовал все что можно. Самое интересное с @OneToMany проблем никаких... (нельзя использовать ее вместо @OneToOne). Должно быть что-то очень простое. Принимаются любые идеи. ОШИБОК В ЛОГЕ НЕТ!!! Были бы погуглил. Объект не вычитывается и не сохраняется. P.S. я убирал все констрайны с полей и применял optional =true/false - не помогло. Ниже привожу код и объявление таблиц в базе. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2012, 23:00:31 |
|
||
|
Проблема со связью @OneToOne
|
|||
|---|---|---|---|
|
#18+
swerg, Что значит "В итоге чалд не понимается из базы и не записывается в него"? Где код которым вы это проверяли, как персистили объекты и как их затем фетчили, в одной транзакции в разных и стоит ли кэширование данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2012, 09:05:12 |
|
||
|
Проблема со связью @OneToOne
|
|||
|---|---|---|---|
|
#18+
OOsalivan, >>"В итоге чалд не понимается из базы и не записывается в него"? Если есть соотвестсвующая запись в чайлд таблице, то чайл объектпустой в парент ентити бине. Перед запись парент бина, я нинициализирую чайлд объект и он не записывается в базу. Где код которым вы это проверяли, как персистили объекты и как их затем фетчили, в одной транзакции в разных и стоит ли кэширование данных? Читал парент объект (предполагаю, что чайл должен вычитываться, т.к. стоит FetchType.EAGER): getJpaTemplate().find(clazz, key); Предвижу вопрос - EAGER только один для парент объекта. Записывал парент (предполагаю, что чайлд должен сохраниться, т.к. стоит CascadeType.ALL (включает CascadeType.PERSIST): getJpaTemplate().persist(object); Кеша второго уровня нет. В рамках одной транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2012, 14:02:23 |
|
||
|
Проблема со связью @OneToOne
|
|||
|---|---|---|---|
|
#18+
swerg, приведите тест-код проверки в Main ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2012, 15:36:42 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37922982&tid=2131109]: |
0ms |
get settings: |
16ms |
get forum list: |
30ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
45ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 301ms |
| total: | 497ms |

| 0 / 0 |
