1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Derby - ON DELETE (Restrict) - Não esta sendo respeitado

Eu tenho duas tabelas a primeira se chama PLANO e a segunda se chama PADRAO.

Todo PADRAO tem que ter um PLANO, ou seja, PADRAO é filha de PLANO.

Um parâmetro de relacionamento entre essas tabelas chamado "ON DELETE" foi setado como "Restrict", ou seja, deveria dar um erro quando eu tentasse deletar um plano se ele tivesse algum filho (padrão) cadastrado, só que isso não acontece ele também está deletando os filhos, ou seja, é como se estivesse com o parâmetro "ON DELETE" setado como "Cascade".

O Método que exclui qualquer registro no meu programa é esse:

public static void delete(Object o) {
        try {
            EntityManager em = GenericDao.getEmf().createEntityManager();
            em.getTransaction().begin();
            em.remove(em.merge(o));
            em.getTransaction().commit();
            em.close();
        } catch (Exception ex) {
            Alert a = new Alert(Alert.AlertType.ERROR);
            a.setContentText(ex.getMessage());
            a.showAndWait();
        }
    }

Alguém poderia me dar uma luz para que a regra "Restrict" seja respeitada?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags javafx banco-de-dados ou faça a sua própria pergunta.