Путаницы в спящих отображениях - PullRequest
0 голосов
/ 18 февраля 2010

Привет, я новичок в технологии гибернации, и у меня мало проблем.

Предположим, есть ли две таблицы. Например:

Table1 
    table1_ID
    table1_value

Table2
    table2_ID 
    table2_name

Если table1_ID является первичным ключом table1 и (table2_ID и table2_name) - первичным ключом table2.

table2_ID для Table2 ссылается на table1_ID для Table1 (в отображении hibernate один-ко-многим)

У меня есть генератор последовательности для table1_ID. Если я попытаюсь вставить, я приведу значения только для table1_value и table2_name. Итак, теперь будет ли последовательность, созданная для table1_ID, назначена table2_ID? Потому что я получаю сообщение об ошибке "невозможно вставить null в table2.ID" . Как решить эту проблему?

Тогда для удаления ... Если я удаляю gethibernatetype().delete(objectofTable1) .... Его снова выдает ошибку

 SQL Error: 2292, SQLState: 23000 
[ERROR] 2010-02-18 19:58:37 (JDBCExceptionReporter.java:logExceptions:78) 
 ORA-02292: integrity constraint  violated - child record found

[ERROR] 2010-02-18 19:58:37 (AbstractFlushingEventListener.java:performExecutions:301) 
 Could not synchronize database state with session 
org.hibernate.exception.ConstraintViolationException: could not delete:

Я тоже установил ondelete=cascade. Как это решить?

1 Ответ

0 голосов
/ 18 февраля 2010

В ваших отображениях у вас есть коллекция.Вы должны установить его на cascade=all (или, если используете аннотации - cascade=CascadeType.ALL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...