Mensagens enviadas por: rafaelmeireles
Índice dos Fóruns » Perfil de rafaelmeireles » Mensagens enviadas por rafaelmeireles
Autor Mensagem
o clono no meu caso nao vai funcionar pq eu não quero criar uma copia eu preciso alterar
o proprio objeto.
pois é tb achei q seria esse o problema pq quando coloquei outro objeto ao inves de modificar o q ja existia deu certo
mais sera se nao tem uma forma de fazer isso? eu tentei já essa forma de desatachar entes mais deu o mesmo erro
quando chamei o merge.
Pessoal estou com um problema que é assim:

eu preciso pegar uma entidade gerenciada pelo JPA e alterar suas propriedades para os valores de outra entidade dessa forma:
PropertyUtils.copyProperties(instanceModal, selectedItem);

ate ai tudo bem o problema é que na hora de levar para o banco da o seguinte erro:
identifier of an instance of ce.gov.s2gpr.rh.item.business.model.entity.Item was altered from 4 to 1
11:28:23,564 ERROR [STDERR] at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:637)

eu preciso mudar somente a propriedade para não perder o objeto de referencia, alguem já teve um problema desse tipo? tem alguma solução?
Alguma luz?
Eles estando dentro de um jar da para usar os templates e as imagens, css sem problemas?
Senhores, temos um sistema para desenvolver que eh composto por varios subsistemas onde
esses subsistemas ficaram separados cada um no seu EAR. Temos uma seção comum a todos
os subsistemas que é composto por templates facelets, css, imagens, js, enfim tudo que é utilizado
por todo o sistema fica nessa seção e os templates, css, imagens especificos de cada subsistema ficam
dentro do subsistema, ou seja, temos 2 situações 1 que eh usada por todo o sistema(está precisa ser acessivel a todo o sistema)
e a que é especifica do subsistema, somente o subsistema tem acesso.

A pergunta é, essa parte comum a todo o sistema qual seria a melhor forma de disponibilizar ela para os outros projetos(subsistemas)
chamei de projetos pq cada subsistema é um projeto a parte no eclipse. A forma que esta hj pelo menos por enquanto é em forma de pasta
onde cada subsitema precisa ter essa pasta comum dentro. Entao fica a duvida qual seria a melhor forma de empacotar essa parte comum?
e ai moçada nada?
Pessoal, gostaria de saber se é possivel desabilitar algumas datas no rich calandar, tipo
tenho um conjunto de datas e gostaria que no rich:calandar essas datas aparececem desabilitadas
alguem sabe como?
Vc não precisa dar o commit, mas precisa dar o merge/save!
simplesmente fazendo o set não altera em nada o estado do sistema.

Basta não fazer o merge/save e os dados , mesmo depois de setados via set, não serão atualizados no banco.


Kra o merge pega as alterações de uma entidade e leva para o banco e retorna
uma entidade gerenciada, a minha entidade esta gerenciada, logo não preciso de merge
para que suas alterações sejam levadas para o banco, elas seram levadas quando o entity manager bem entender
assim como diz a especificação. Agora se vc usa JPA e altera uma entidade gerenciada e ainda assim
precisa fazer merge, vc deve ta fazendo alguma coisa de errado até pq o conceito de estar gerenciada é esse.

Mais de qualquer forma ja resolvi o problema o flush-mode="manual" indica ao hibernate que mesmo para uma entidade gerenciada
ele so faça as alterações quando o método flush() for chamado manualmente.

Recomendo essa leitura aqui: http://docs.jboss.org/seam/2.1.0.CR1/reference/en-US/html/persistence.html#d0e6811
ela explica com detalhes como utilizar o flush-mode="manual" e foi ela que ajudou a resolver meu problema.
pra ficar no historico, colocando flush-mode="manual"
que funciona somento se o hibernate for o provider
ele diz que alterações na entidade mesmo quando esta
for gerenciada, as alterações só seram realizadas se um flush
for feito.
Cara, aqui utilizamos container EJB, logo não é preciso realizar commit o container ja faz isso.
Quando vc utiliza container, basta pegar a entidade e chamar um metodo set dela, ou entao
se vc tiver uma tela que usa essa entidade e fizer alguma requisição ajax nesse campo, como
a entidade esta gerenciada, quando a requisição termina a alteração ja é refletida no banco.
é acho q vc não entendeu mesmo não.

Como utilizo o container a entidade fica gerenciada, com a entidade gerenciada qualquer alteração nela
o entityManager ja reflete no banco, isso a propria especificação diz que na hora q o gerenciador bem entender
as alterações vão para o banco, o que eu preciso é trabalhar com a entidade gerenciada mais evitar que as alterações
vão para o banco até que eu chame o merge.
e é exatamento isso que não quero fazer, até pq aqui usamos container EJB e não fazemos commit
Na verdade não é isso que preciso, o problema aqui é o seguinte
tenho uma entidade gerenciada, em uma tela de edicao, quando o usuario
faz algumas alterações e resolve cancelar como a entidade esta gerenciada
as alterações ja foram para o banco, eu gostaria de saber se tem uma forma de dizer
ao hibernate para ele não atualizar até o metodo merge ser chamado, pois desta forma
se o botao de salvar nao forma chamada as alterações feitas não seram levadas para o banco.
Pessoal, estou utilizando JPA com Hibernate, gostaria de saber se tem como
dizer para a JPA que alterações em uma entidade gerenciada só seja enviada
ao banco quando o método de atualização for chamado?
 
Índice dos Fóruns » Perfil de rafaelmeireles » Mensagens enviadas por rafaelmeireles
Ir para:   
Powered by JForum 2.1.8 © JForum Team