[RESOLVIDO]Neodatis ODB (atualização de coleções)  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
pango
Virtual Machine Man

Membro desde: 20/08/2005 16:31:37
Mensagens: 556
Localização: Pangolândia
Offline

Pessoal,

Recentemente, comecei um projeto utilizando o Neodatis ODB. Apanhei um pouco, mas agora a coisa está indo bem. Contudo, tem um problema que ainda não consegui resolver: quando atualizo os meus objetos, os atributos que sejam collections não são atualizados. Por exemplo:



Alguém tem alguma idéia? Outra coisa: alguma conhece algum lugar com documentação decente sobre o Neodatis? A documentação existente no site do projeto se limita a explicar o feijão-com-arroz...

This message was edited 1 time. Last update was at 26/11/2007 09:26:31


programmer.setFucked(user.isStupid());
Sun Certified Java Programmer 1.4
Olivier
Debugger

Membro desde: 15/11/2006 12:43:15
Mensagens: 52
Localização: Curitiba/PR
Offline

Oi pango,

Você conseguiu resolver o seu problema, seu código parece legal!

pango
Virtual Machine Man

Membro desde: 20/08/2005 16:31:37
Mensagens: 556
Localização: Pangolândia
Offline

Olivier,

Infelizmente, ainda não consegui resolver o problema. Se alguém puder dar uma luz...

programmer.setFucked(user.isStupid());
Sun Certified Java Programmer 1.4
Olivier
Debugger

Membro desde: 15/11/2006 12:43:15
Mensagens: 52
Localização: Curitiba/PR
Offline

Olá Pango,

Talvez seu problema era da versão 1.5.

A nova versão do NeoDatis ODB 1.8 já está disponível. Eu testei seu código e está funcionando normal



pango
Virtual Machine Man

Membro desde: 20/08/2005 16:31:37
Mensagens: 556
Localização: Pangolândia
Offline

Olivier,

Obrigado pela dica. Vou testar com a nova versão...

programmer.setFucked(user.isStupid());
Sun Certified Java Programmer 1.4
Olivier
Debugger

Membro desde: 15/11/2006 12:43:15
Mensagens: 52
Localização: Curitiba/PR
Offline

Qualquer coisa,

me fale se o problema continua!
pango
Virtual Machine Man

Membro desde: 20/08/2005 16:31:37
Mensagens: 556
Localização: Pangolândia
Offline

Olivier,

Funcionou sim, muito obrigado pela sua ajuda!!!

programmer.setFucked(user.isStupid());
Sun Certified Java Programmer 1.4
Olivier
Debugger

Membro desde: 15/11/2006 12:43:15
Mensagens: 52
Localização: Curitiba/PR
Offline

Olá Pango,

que bom!

Qualquer dúvida a respeito do ODB, pode perguntar, eu sou um dos desenvolvedores do projeto NeoDatisODB.

Estamos a disposição!
pango
Virtual Machine Man

Membro desde: 20/08/2005 16:31:37
Mensagens: 556
Localização: Pangolândia
Offline

Olivier,

Muito bacana saber que você participa do projeto. Prepare-se para ser explorado...

Parabéns pelo bom trabalho!

programmer.setFucked(user.isStupid());
Sun Certified Java Programmer 1.4
Olivier
Debugger

Membro desde: 15/11/2006 12:43:15
Mensagens: 52
Localização: Curitiba/PR
Offline

Pango,

Sem problemas....
flaviomreis
Debugger
[Avatar]
Membro desde: 04/07/2006 09:20:35
Mensagens: 56
Offline

Boa tarde amigos!

Bom, estava até a pouco usando Db4O em alguns projetos meus, mas não to conseguindo extrair uma boa performance dele e também não consigo muita ajuda (problema de todo leigo como eu).

Esta vai direto pra você Oliver! Existe algum fórum específico para ODB?

Já de cara arranco com a seguinte dúvida! Existe como fazer uma pesquisa do tipo


Só que gostaria que fosse retornado na lista, inclusive pessoas com o nome FLÁVIO, ou FláVIO, algo como um equalsIgnoreCase... sei que existe SimpleNativeQuery e foi assim que implementei minha consulta, mas não seria mais lenta? Ah! E um índice pelo atributo nome da classe Pessoa ajudaria neste caso? Mesmo eu usando SimpleNativeQuery.

Desculpe as muitas indagações. Obrigado

Flávio Menezes dos Reis
Bacharel em Sistemas de Informação
Terra de Areia - RS
[MSN] [ICQ]
Olivier
Debugger

Membro desde: 15/11/2006 12:43:15
Mensagens: 52
Localização: Curitiba/PR
Offline

Olá Flávio!

Existe um forum específico para ODB sim : http://sourceforge.net/forum/?group_id=179124

Se vc puder postar sua pergunta lá tb serai legal!

Mas vamos lá:

Já existe uma Feature Request para o que vc quer : http://sourceforge.net/tracker/index.php?func=detail&aid=1833157&group_id=179124&atid=887888. Mas ainda não foi implementado. Mas não vai demorar. Aviso assim que ficar pronto!

Vc pode criar um Index sobre o atributo nome que vai melhor muito a performance sobretudo se a classe Pessoa tem muitos objetos.

Com relação a SimpleNativeQuery, por enquanto, ela não sabe aproveitar os indíces. Então vc tem razão com CriteriaQuery fica mais rápido!

Qualquer dúvida, pergunte !!


flaviomreis
Debugger
[Avatar]
Membro desde: 04/07/2006 09:20:35
Mensagens: 56
Offline

Só uma então que tá trancando todo o meu projeto



É lançada esta exceção quando tendo fazer o "cast". Todos os meus DAOs utilizam List e em todo o meu sistema. Como vou ter que proceder? Copiar todos os itens de Objects para uma List?

Obrigado

Flávio Menezes dos Reis
Bacharel em Sistemas de Informação
Terra de Areia - RS
[MSN] [ICQ]
Olivier
Debugger

Membro desde: 15/11/2006 12:43:15
Mensagens: 52
Localização: Curitiba/PR
Offline

Flávio,

o problema é que todos os resultados do ODB.getObjects retornam objetos que implementam Collection que é uma interface mais generica que List.

A única solução que vejo é :


public static List<Cliente> list() {
ODB odb = DbAccess.getDb();
List<Cliente> list = null;

try {
IQuery query = new CriteriaQuery(Cliente.class);
query.orderByAsc("razaoSocial");

list = new ArrayList(odb.getObjects(query));

} catch (Exception e) {
e.printStackTrace();

} finally {
return list;
}

}


Não é muito bom pois irá perder um tempo copiando a lista cada vez. Em Termo de memória, a collection retornada pelo odb.getObjects será pegou pelo garbage collector após a saida do metódo.

Como ficou a performance da query na classe Pessoa? Criou um Index?



flaviomreis
Debugger
[Avatar]
Membro desde: 04/07/2006 09:20:35
Mensagens: 56
Offline

Bom, estou modificando meu sistema para usar Collection e quando precisar List, daí sim faço um addAll() passando a Collection, o problema agora é que depois de feita uma consulta à base, quando estou tentando fazer outra (não fecho nunca a conexão com a base) retorna a seguinte exceção:


Sendo que meu DAO e o método para "abertura" de conexão com a base são:




Onde estou errando?

Obrigado

Flávio Menezes dos Reis
Bacharel em Sistemas de Informação
Terra de Areia - RS
[MSN] [ICQ]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team