2009-06-16 2 views
0

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

+0

Я могу предложить только книгу NHibernate In Action. У них есть пример. – zvolkov

ответ

0

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

<?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 documentation за дополнительной информацией.

Смежные вопросы