У меня есть 2 Java-класса, один из которых называется Definition
, и один из них - Classification
. Определение имеет список классификаций, поэтому 0..n
мощность.Удалить взаимосвязь между объектами с помощью HQL
Вот что мое объектно-реляционное отображение выглядит следующим образом:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.myPackage.Definition" table="definition">
<id name="id" column="ID" type="java.lang.Long">
<generator class="increment" />
</id>
<!-- definition will have many to many asscoiations with Classes -->
<set name="classes" table="class_definition" cascade="save-update">
<key column="definition_id" />
<many-to-many column="class_id" class="com.myPackage.Classification" foreign-key="fk_class_definition" />
</set>
</class>
</hibernate-mapping>
То, что я пытаюсь сделать теперь удалить связь между определением и классификацией. Например, определение X имеет классификацию A, B и C, и я хочу удалить ссылку на классификацию C.
Я знаю, как написать запрос на удаление в HQL для удаления объекта класса. Но я не знаю, как удалить значение атрибута моего класса.
Может ли кто-нибудь посоветовать?
Вы сказали, что это отношение 0..n, что означает '@ OneToMany', но у вас есть« много-ко-многим »в файле сопоставления, какой из них правильный? Это двунаправленная или однонаправленная связь? –
Я тоже думал, но это может быть просто странное сопоставление спящего режима? – claudio495h
Нет, не спящий сбой, правильное отображение - ' ' –
claudio495h