2012-02-02 3 views
3

У меня есть 2 класса: вход и содержание.От одного до одного удалять на каскаде

public class Entry implements Serializable { 
    @OneToOne(cascade=CascadeType.ALL) 
    private Content content; 
} 

И Содержание есть его ценности (имя и т.д. и т.п. и т.д.) ... То, что я хочу сделать, если содержание его удалили, я хочу, чтобы удалить любую запись хо его связанный с ...

Этот его не проблема сироты типичная (Im не удаление записи! Im удаления содержимого)

записи может иметь или не содержание, связанное с ... и содержанием existenc является independient из entrys ...

Как я могу сказать, чтобы спящий режим «Эй ... если вы собираетесь удалить контент найти любой связанный FK и удалить его! »

ответ

0

Сделать ассоциации двунаправленным, и каскадное удаление:

public class Content { 
    ... 
    @OneToOne(mappedBy = "content", cascade = CascadeType.REMOVE) 
    private Entry entry; 

} 
+0

Я говорил об этом с коллегой, и он сказал то же самое! Это не плохая идея, но если я это сделаю, мне нужно создать FK в моей таблице контента, помещенной в запись ??? Я думаю, что это не правильно (или мабы, но я вижу это неправильно) Но я не хочу добавлять FK в свой стол (он чувствует себя не так)! Если мне не нужно добавлять FK в мою таблицу контента, и это будет работать «волшебным образом», тогда ... бог благословит вас! – BrunoX

+0

'mappedBy =" content "означает: ассоциация сопоставляется другой стороной ассоциации, используя внешний ключ в таблице ввода. Вам не нужен дополнительный внешний ключ. Прочтите справочное руководство по спячке, потому что вы ДОЛЖНЫ понимать, как работают ассоциации при использовании Hibernate. –

1

Почему бы не создать ссылку из содержания для вступления следующим образом:

public class Content implements Seralizable { 
    @OneToOne(cascade=CascadeType.REMOVE, optional=true) 
    private Entry entry; 
} 

Пожалуйста, обратите внимание на дополнительный атрибут. Это свидетельствует о том, что у Контента может быть запись, связанная с ней, как вы сказали в своем сообщении.

+0

Я говорил об этом с коллегой, и он сказал то же самое! Это не плохая идея, но если я это сделаю, мне нужно создать FK в моей таблице контента, помещенной в запись ??? Я думаю, что это не правильно (или мабы, но я вижу это неправильно) Но я не хочу добавлять FK в свой стол (он чувствует себя не так)! Если мне не нужно добавлять FK в мою таблицу контента, и это будет работать «волшебным образом», тогда ... бог благословит вас! – BrunoX

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

  • Нет связанных вопросов^_^