Jodatime serializa com ilocalmillis

ola
tenho alguns atributo do tipo jodatime funciona certinho, na hora de gravar no hibernate, na hora do vraptor identificar os parametros no request.
porem ao gerar json o campo sai assim “dataAdmissao”: {“iLocalMillis”: 1363219200000}

	@Column(name="ultimo_acesso")
	@Type(type = "org.joda.time.contrib.hibernate.PersistentLocalDateTime")	
	private LocalDateTime dataAdmissao;

Cria um parser do XStream a anota ele com @Component

O VRaptor já vai usar o seu parser…

bom dia
achei essa classe mas ela não tinha resolvido, coloquei uns sysout e tal e vi que tava passando por ela, ai só mudei para DateTime para LocalDate que é o que eu uso funcionou.

[code]
package br.com.agile.sistema.vraptor.utils;
import java.util.Collection;

import br.com.caelum.vraptor.interceptor.TypeNameExtractor;
import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.serialization.xstream.VRaptorClassMapper;

import com.google.common.base.Suppliers;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.converters.collections.CollectionConverter;

@Component
public class PersistentBagConverter extends CollectionConverter {

public PersistentBagConverter(TypeNameExtractor extractor) {      
       super(new VRaptorClassMapper(new XStream().getMapper(), Suppliers.ofInstance(extractor)));    
    }    

@Override    
@SuppressWarnings("rawtypes")    
public boolean canConvert(Class type) {    
    return Collection.class.isAssignableFrom(type);    
}    

}[/code]

Pode postar como que ficou a sua classe?

[code]package br.com.agile.sistema.vraptor.utils;
import org.joda.time.LocalDate;

import br.com.caelum.vraptor.ioc.Component;

import com.thoughtworks.xstream.converters.SingleValueConverter;

@Component
public class ConvertLocalDataJSON implements SingleValueConverter {

@Override  
public String toString(Object value) {  
    LocalDate d = new LocalDate(value);  
    String data = d.toString("dd/MM/yyyy");
    return data;  
  
}    
   
@SuppressWarnings("rawtypes")  
public boolean canConvert(Class clazz) {
    return LocalDate.class.isAssignableFrom(clazz);  
}  

@Override  
public Object fromString(String arg0) {  
    // TODO Auto-generated method stub  
    return null;  
}    

} [/code]

[code]
package br.com.agile.sistema.vraptor.utils;
import org.joda.time.LocalDateTime;

import br.com.caelum.vraptor.ioc.Component;

import com.thoughtworks.xstream.converters.SingleValueConverter;

@Component
public class ConvertLocalDataTimeJSON implements SingleValueConverter {

@Override  
public String toString(Object value) {  
    LocalDateTime d = new LocalDateTime(value);  
    String data = d.toString("dd/MM/yyyy hh:mm:ss");
    return data;  
  
}    
   
@SuppressWarnings("rawtypes")  
public boolean canConvert(Class clazz) {
    return LocalDateTime.class.isAssignableFrom(clazz);  
}  

@Override  
public Object fromString(String arg0) {  
    // TODO Auto-generated method stub  
    return null;  
}    

} [/code]