[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Insert e Update diferenciados  XML
Índice dos Fóruns -> Dúvidas
Autor Mensagem
robmsjr
MultiAction

Membro desde: 26/06/2007 19:30:49
Mensagens: 88
Offline

Estou com uma classe a qual tenho uma data de cadastro e uma data de alteração, gostaria de no cadastro inserir as duas datas como data atual e na alteração fazer um update somente da segunda data, porem só encontrei o metodo saveorupdate pra fazer o override... Existem metodos diferentes para inserir e alterar que eu possa modificar pra fazer alterar o bean antes de persistir para o bd?

grato pela ajuda,

abraços;
robmsjr
MultiAction

Membro desde: 26/06/2007 19:30:49
Mensagens: 88
Offline

Consegui parcialmente...

Estou fazendo assim no meu CRUD:

Code:
 @Override
 	protected void salvar(WebRequestContext arg0, Conteudo conteudo) throws Exception {
 		Timestamp dataAtual = new Timestamp(System.currentTimeMillis());
 		if (conteudo.getIdconteudo() == null)
 			conteudo.setDataCadastro(dataAtual);
 		conteudo.setDataAlteracao(dataAtual);
 		super.salvar(arg0, conteudo);
 	}
 


o que está acontecendo agora é que na alteração ele seta a data de cadastro como null... percebi que ele faz o update sempre em todos os campos então seria necessario colocar um hidden da data de cadastro na pagina de entrada? tem como setar diretamente o property como hidden?

EDITADO:
Tentei colocar o hidden mas ele não consegue converter de novo para timestamp.
grato e abraços;
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

Vc poderia colocar type="hidden" em determinado property para esconder ele na tela.

No Hibernate só é possível atualizar determinados campos utilizando uma query de update.. Para vc saber se será feito um update ou insert vc pode verificar o valor do id, se for null será insert se nao será update
robmsjr
MultiAction

Membro desde: 26/06/2007 19:30:49
Mensagens: 88
Offline

Já tinha feito dessa maneira e também tentado com o hidden...
Agora eu colocando o date como hidden ele converte pra string e não consegue converter de volta na hora de ler...

Estou tentando pensar em uma solução, mas caso eu queira posso colocar sem o hidden e com um readonly?

abraços

EDITADO:

Testei agora sem o hidden e deu o mesmo erro... segue abaixo:
Code:
 2007-07-04 15:13:06,411 [http-8080-Processor23] ERROR br.com.linkcom.neo.controller.DispatcherServlet - Could not complete request
 java.lang.RuntimeException: Conversor ainda não completamente implementado
 	at br.com.linkcom.neo.bean.editors.TimestampPropertyEditor.setAsText(TimestampPropertyEditor.java:32)
 	at br.com.linkcom.neo.controller.ExtendedBeanWrapper.doTypeConversionIfNecessary(ExtendedBeanWrapper.java:1223)
 	at br.com.linkcom.neo.controller.ExtendedBeanWrapper.setPropertyValue(ExtendedBeanWrapper.java:990)
 	at br.com.linkcom.neo.controller.ExtendedBeanWrapper.setPropertyValue(ExtendedBeanWrapper.java:854)
 	at br.com.linkcom.neo.controller.ExtendedBeanWrapper.setPropertyValue(ExtendedBeanWrapper.java:1078)
 	at br.com.linkcom.neo.controller.ExtendedBeanWrapper.setPropertyValues(ExtendedBeanWrapper.java:1105)

[code]
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

vc pode colocar readonly="readonly" na t:property. Ou vc pode colocar type="hidden" write="true"
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

há tá.. o editor do timestamp, ainda não foi implementado para converter de volta pra string

Tente usar Date no lugar do timestamp;
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

Na próxima versão o editor timestamp já estará ok.. já fiz essa funcionalidade...
robmsjr
MultiAction

Membro desde: 26/06/2007 19:30:49
Mensagens: 88
Offline

valeu pela ajuda.
Vou fazer isso então...

Agora, vc tem algum previsão para a proxima versão?
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

Talvez na próxima segunda...
 
Índice dos Fóruns -> Dúvidas
Ir para:   
Powered by JForum 2.1.7 © JForum Team