Um objeto pertencendo a uma determinada classe pode não ser serializável se:
a) Sua classe não for marcada como Serializable,
e/ou
b) Algum atributo dessa classe não for Serializable.
Se você sabe que algum dos atributos dessa classe não é Serializable, mas ele não precise ser serializado por algum motivo, declare-o como Transient.
Seguindo o que o entanglement disse, a classe MovimentacaoDAO pode não estar indicada como implements Serializable ou algum atributo que você não serialize não está descrito como Transient
Não respondo dúvidas por MP, está na minha assinatura, ok?
Um pouco de java básico:
Java dá suporte para que você consiga “salvar” instâncias de objetos.
Isto se chama serialização de objetos (há também serialização de arquivos).
A interface Serializable, do pacote java.io é quem provê os métodos que são interpretados pela JVM e que permitem que o estado do objeto seja mantido intacto quando um método que o serializa é invocado.
Como assim?
Pense que você possui um programa que gerencia emails (gmail). A cada período de tempo, ao criar uma nova mensagem, ele salva uma cópia no rascunho. Como email é um objeto e o texto, remetente e destinatário são seus atributos, caso não fosse possível persistir estes dados, o rascunho seria inútil (desconsidere banco de dados), uma vez que você pode fechar o programa e abri-lo (isso mata qualquer possibilidade de manter na memória) e o rascunho ainda estar lá.
Normalmente as APIs que fazem persistência, como o Hibernate, implementam métodos que forçam a serialização de objetos, pois, nem sempre a ação de persistir os dados no SGBD é imediata ou concluída com sucesso. Caso o hibernate precise, por alguma razão qualquer, o objeto estará lá, intacto.
[quote=drsmachado]Não respondo dúvidas por MP, está na minha assinatura, ok?
Um pouco de java básico:
Java dá suporte para que você consiga “salvar” instâncias de objetos.
Isto se chama serialização de objetos (há também serialização de arquivos).
A interface Serializable, do pacote java.io é quem provê os métodos que são interpretados pela JVM e que permitem que o estado do objeto seja mantido intacto quando um método que o serializa é invocado.
Como assim?
Pense que você possui um programa que gerencia emails (gmail). A cada período de tempo, ao criar uma nova mensagem, ele salva uma cópia no rascunho. Como email é um objeto e o texto, remetente e destinatário são seus atributos, caso não fosse possível persistir estes dados, o rascunho seria inútil (desconsidere banco de dados), uma vez que você pode fechar o programa e abri-lo (isso mata qualquer possibilidade de manter na memória) e o rascunho ainda estar lá.
Normalmente as APIs que fazem persistência, como o Hibernate, implementam métodos que forçam a serialização de objetos, pois, nem sempre a ação de persistir os dados no SGBD é imediata ou concluída com sucesso. Caso o hibernate precise, por alguma razão qualquer, o objeto estará lá, intacto.
Mais informações, http://www.google.com.br e procure por serialização de objetos em java.[/quote]
Desculpe, quanto ao MP.
E obrigado pela explicaçao. Realmente entendi. Mas acontece que o erro persiste … como disse não faço ideia do que seja !
so lembrando que o sistema tah funcionando. Mas ele faz ae essa reclamaçao… ja revirei tudo … ate debugguei e nda…
nao sei se tem alguma coisa haver, mais ele pode ta dando conflito com outro metodo ou coisa do tipo … ???
Você ainda não conseguiu acertar a classe Dao.MovimentacaoDAO. Alguma coisa nela não é serializável, portanto está dando esse problema. Veja todas as classes que estão sendo referidas, por exemplo, via List<>.
Entendo, deixei ate de mão isso. Vou procurar terminar logo o sistema e dpois eu vejo com mais minuciosidade os possiveis erros. Mas obrigado, vou DEBUGGAR aki.
VOU POSTAR COMO RESOLVIDO POR ENQUANTO, DPOIS EU VOLTO A VERIFICAR ISSO… JA SURGIRAM OUTROS PROBLEMAS…