Hibernate

3 respostas
fbarreto

Co faço para que o hibernate nao delete em cascata?
qdo eu excluir o pedido nao gostaria que ele excluisse as contas geradas,meu mapeamento das
contas no pedido ta assim com CascadeType.ALL,existe uma opcao que nao deleta em casacata ou e so retirar a
anotacao CascadeType.ALL???

@OneToMany(cascade = CascadeType.ALL, mappedBy = "pedido")
    private Collection<Contasreceber> contasReceber;

obrigadu.

3 Respostas

rsakurai

Da uma olhada nesse topico:

http://www.guj.com.br/posts/list/65925.java

Nele mostra os tipos de CascadeType, e vc pode também combinar mais que um tipo no seu @OneToMany.

fbarreto

ola vi os topicos que vc sugeriu mas nao consegui entender como resolver meu problema,mas alhuem pode ajudar?

rsakurai

Por exemplo:

CascadeType.PERSIST -> se vc quer salvar o Pedido, e quando salva o Pedido vc quer que automaticamente salve suas Contasreceber, outras ações referentes ao Pedido não influenciam a classe Contasreceber, como por exemplo a ação de excluir Pedido.

CascadeType.REFRESH -> se vc atualizar algum Contasreceber do Pedido, e salvar um Objeto Pedido, ele também salva seus Contasreceber alterados.

se vc não quiser nenhuma interatividade com o Contasreceber vc pode remover o cascade = CascadeType.ALL

Agora uma sugestão, não sei como é o contexto da sua aplicação, mas falando diretamente sobre os nomes das classes, seria certo vc ter uma Contasreceber sem estar associado a um Pedido?

Criado 9 de maio de 2008
Ultima resposta 9 de mai. de 2008
Respostas 3
Participantes 2