|
|
|
Hibernate, две связи many-to-many, проблема сохранения
|
|||
|---|---|---|---|
|
#18+
Сущность имеет две связи many-to-many. Таблица связи для обеих коллекций одна и та же. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. При сохранении сущности сейчас требуется сохранить вместе с ней только payers, в companies ничего нет. При сохранении возникает ошибка: Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:170) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365) at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504) ... 102 more Caused by: java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("payer_customer_company"."companyid") Раньше на поле companyid был not null констрейнт, но он задизейблен. Может изменение не вступило в силу? Кроме того, это поле является внешним ключом. Но foreign key не должен препятствовать вставке null-ов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 19:25:31 |
|
||
|
Hibernate, две связи many-to-many, проблема сохранения
|
|||
|---|---|---|---|
|
#18+
Конечно, остается только догадываться, что там происходит, поскольку сам код не приведен, но подозреваю что там не хватает присвоения "с обратной стороны". Покажите код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 09:41:52 |
|
||
|
Hibernate, две связи many-to-many, проблема сохранения
|
|||
|---|---|---|---|
|
#18+
Нет, все нормально с обратной стороны. Обычный INSERT без поля companyid даёт такую же ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 13:09:43 |
|
||
|
Hibernate, две связи many-to-many, проблема сохранения
|
|||
|---|---|---|---|
|
#18+
Покажите java-код, или код с INSERT-ом. Спрашиваете где ошибка, а код не показываете. Если INSERT в таблицу payer_customer_company, то он однозначно не пройдет. Дело в том, что ManyToMany подразумевает не только 2 внешних ключа (где null допустимое значение), но и первичный ключ, содержащий оба поля. А в первичном ключе null уже не допускается. Но это опять догадка, что там на самом деле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 13:28:11 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38299974&tid=2129150]: |
0ms |
get settings: |
17ms |
get forum list: |
29ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
66ms |
get topic data: |
26ms |
get forum data: |
8ms |
get page messages: |
93ms |
get tp. blocked users: |
2ms |
| others: | 313ms |
| total: | 566ms |

| 0 / 0 |
