пример удаления гибернационного каскада - PullRequest
0 голосов
/ 16 июня 2009

может любой предоставить мне полный файл 2 сопоставления, который реализует каскадное удаление. Если A является набором B, то при удалении A B автоматически удаляется.

1 Ответ

0 голосов
/ 03 июля 2009

Вам нужен только 1 файл сопоставления: один из родительского объекта. Например. этот пример из Hibernate в действии

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
    <class name="hello.Message" table="MESSAGES">
    <id
        name="id"
        column="MESSAGE_ID">
        <generator class="increment"/>
    </id>
    <property
        name="text"
        column="MESSAGE_TEXT"/>
    <many-to-one
        name="nextMessage"
        cascade="all"
        column="NEXT_MESSAGE_ID"/>
    </class>
</hibernate-mapping>

Параметр "каскад" выполняет свою работу. Если вы хотите только каскадное удаление, используйте cascade = "delete". Другими вариантами являются «all-delete-orphan» и «delete-orphan». Проверьте документацию Hibernate для получения дополнительной информации.

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