Fórum Hibernate - atualizando lista #430584
06/12/2012
0
Bom dia galera!
Eu tenho um objeto mapa e esse objeto contem uma lista de itens, quando eu altero essa lista excluindo um objeto e chamo o método de alteração do mapa o obejeto que foi excluido na lista não e excluindo na base, minha duvida e existe alguma forma de fazer isso funcionar através do hibernate?
segue o mapeamento feito:
classe MapaItem
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="id_mapa")
private Mapa mapa;
classe mapa
@OneToMany(mappedBy="mapa",cascade = CascadeType.REFRESH)
private List<MapaItem> MapaItens;
Eu tenho um objeto mapa e esse objeto contem uma lista de itens, quando eu altero essa lista excluindo um objeto e chamo o método de alteração do mapa o obejeto que foi excluido na lista não e excluindo na base, minha duvida e existe alguma forma de fazer isso funcionar através do hibernate?
segue o mapeamento feito:
classe MapaItem
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="id_mapa")
private Mapa mapa;
classe mapa
@OneToMany(mappedBy="mapa",cascade = CascadeType.REFRESH)
private List<MapaItem> MapaItens;
Ismael Oliveira
Curtir tópico
+ 0
Responder
Posts
07/12/2012
Ismael Oliveira
e aew galera !
Consegui resolver o meu problema com o org.hibernate.annotations.CascadeType.ALL e org.hibernate.annotations.CascadeType.DELETE_ORPHAN
inicialmente eu usei somente o org.hibernate.annotations.CascadeType.DELETE_ORPHAN e funciono so que quando eu adicionava um novo objeto a minha lista ele não era salvo na base com isso passei a usar org.hibernate.annotations.CascadeType.ALL junto,
ficando assim:
@Cascade({org.hibernate.annotations.CascadeType.ALL,org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
no atributo ficou assim:
@OneToMany(mappedBy="mapa")
@Cascade({org.hibernate.annotations.CascadeType.ALL,org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
private List<MapaItem> MapaItens;
Consegui resolver o meu problema com o org.hibernate.annotations.CascadeType.ALL e org.hibernate.annotations.CascadeType.DELETE_ORPHAN
inicialmente eu usei somente o org.hibernate.annotations.CascadeType.DELETE_ORPHAN e funciono so que quando eu adicionava um novo objeto a minha lista ele não era salvo na base com isso passei a usar org.hibernate.annotations.CascadeType.ALL junto,
ficando assim:
@Cascade({org.hibernate.annotations.CascadeType.ALL,org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
no atributo ficou assim:
@OneToMany(mappedBy="mapa")
@Cascade({org.hibernate.annotations.CascadeType.ALL,org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
private List<MapaItem> MapaItens;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)