nao!
ele faz por reflexao, acessa os campos diretamente, seta acessible como true, e invade o campo que era pra ser private setando seu valor, e portanto pode alterar o estado do objeto de uma forma nao esperada…
[/quote]
Q bagaça…
nao!
ele faz por reflexao, acessa os campos diretamente, seta acessible como true, e invade o campo que era pra ser private setando seu valor, e portanto pode alterar o estado do objeto de uma forma nao esperada…
[/quote]
Q bagaça…
Huum, mas isso fica bem complicado…
eu achei que o hibernate conseguia atualizar automaticamente…
dessa forma eu vou ter que fazer um remove pra cada elemento removido,
e outra vou ter que ficar controlando manualmente os objetos que devem ou não ser removidos :S
omg
Como vcs fazem para controlar essa situação???
[quote=TheKill]Huum, mas isso fica bem complicado…
eu achei que o hibernate conseguia atualizar automaticamente…
dessa forma eu vou ter que fazer um remove pra cada elemento removido,
e outra vou ter que ficar controlando manualmente os objetos que devem ou não ser removidos :S
omg[/quote]
anota com isto
@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
and be happy
agora vc tera q fazer algo como
venda = session.load(Venda.class,id);
venda.getItensVenda().remove(0);
nao me lembro 100%, mas o objeto precisa ser gerenciavel…
desta forma eu tenho de ter um objeto do tipo ItemVenda dentro de Venda?
o.O é isso mesmo?
[quote=TheKill]desta forma eu tenho de ter um objeto do tipo ItemVenda dentro de Venda?
o.O é isso mesmo?[/quote]
e nao e’ assim ?
a meu ver não…
fica bem estranho isso…
eu tenho um objeto do tipo Lista de ItensVenda…
[quote=TheKill]a meu ver não…
fica bem estranho isso…
eu tenho um objeto do tipo Lista de ItensVenda…[/quote]
nao estou entendo o q vc esta faladno …
vc colocou no seu mapeanto exatamento isso
public class Venda
private List<ItensDeVenda> itensDeVenda;
}
sim… a lista de itensVenda eu coloquei, pra pode inserir os itens que foram vendidos o.O
entao ? vc nao estava reclamando que queria apagar daquela forma ??
se quiser de outra forma pode ser
session.delete(itemDeVenda);
nao… eu estava reclamando é que…
se eu to fazendo um update de uma lista de itens venda… onde pode ser > 1
eu vou dar update em N produto… pode ser em todos ou não… ele nao apaga os registros que não foram atualizados…
mais ou menos isso…
[quote=TheKill]nao… eu estava reclamando é que…
se eu to fazendo um update de uma lista de itens venda… onde pode ser > 1
eu vou dar update em N produto… pode ser em todos ou não… ele nao apaga os registros que não foram atualizados…
mais ou menos isso…[/quote]
se vc colocar a anotacao que eu falei…
todos os itensDeVendas que nao estiverem dentro da lista, na hora do .marge() serao excluidos
mas entao nao preciso daquele venda.getItemVenda.removo(indice)
nao, aquilo foi um exemplo, com uma entidade gerenciavel, como vc da um load, ela vem com todos os filhos juntos…
…
AH! tome cuidade… se vc tentar atulizar apenas os dados, ao persistir, sem a lista de itens vendidos, todos os itens vendidos serao apagados =x
eita poha, ta me saindo mais facil lidar com SQL
SAHDIUAHSiduhAIUDHuiHDsui
Lavieri Aproveitando a discussão aqui, uma opiniao sua…
Voce nao acha que é ruim vc definir como os dados devem ser persistidos e forma estática uma coisa ruim?!
Nao deveria ter uma forma de fazer isso programaticamente?!
Por exemplo, as vezes numa situacao vc iria querer um comportamento e em outra situacao outro comportamento… definindo isso de forma estática… vc só tem um comportamento para a aplicacao inteira…
[quote=TheKill]eita poha, ta me saindo mais facil lidar com SQL
SAHDIUAHSiduhAIUDHuiHDsui[/quote]
É por isso que no Next… essas funcionalidades todas aí… eu nao faço com o hibernate…
Dou um drop nele… para ele nao controlar NADA
E tenho classes que fazem isso dinamicamente… nao dá essa problematica toda…
[quote=rogelgarcia]Lavieri Aproveitando a discussão aqui, uma opiniao sua…
Voce nao acha que é ruim vc definir como os dados devem ser persistidos e forma estática uma coisa ruim?!
Nao deveria ter uma forma de fazer isso programaticamente?!
Por exemplo, as vezes numa situacao vc iria querer um comportamento e em outra situacao outro comportamento… definindo isso de forma estática… vc só tem um comportamento para a aplicacao inteira…[/quote]
nao da pra fazer isso…
isso e’ o mesmo que vc falar que a tabela vai ficar mutavel.
Aí já emenda na outra discussao do JPA que criei em outro tópico… discutindo uma interface que é baseada numa implementacao… e coisa e tale…
Ao invés de o povo pensar em algo fácil… bolam mil arquiteturas que vao complicando… e as coisas que vc tem que fazer todo dia… dá um trabalho violento… cheio de porém…
(nao gosto de arquiteturas cheias de porem)
já estou achando chato essa parte de persistencia para atualizar, apagar… “automaticamente”