Obter o "oid" do NeoDatis ODB

5 respostas
Descio_Oliveira

Ola pessoal !

Quando fazemos uma insersao no banco é atribuido ao objeto o “oid”,
Eu queria saber se ha uma forma de pegar o “oid” do banco e trazer para a aplicaçao.
Alguem sabe como fazer isso ??? se é q da pra fazer …

Abraço a todos !

Déscio Oliveira

5 Respostas

Descio_Oliveira

resolvido:

odb.getObjectFromId(OID oid); // recupera o objeto a partir do oid
   odb.getObjectId(objeto); // recupera o identificador do objeto.
Vini_Fernandes

Ola Descio, estou trabalhando com o NeoDatis, voce tem alguma referencia sobre a API desse banco de dados pra me passar?

Valeu!!

Descio_Oliveira

Ola Vini … Estou testando o Neo Datis em alguns projetos!

ai segue algumas referencias sobre o NeoDatis:

No site do projeto: http://www.neodatis.org/
ha tambem um forum no: http://sourceforge.net/forum/?group_id=179124

vlw … Abraço;

Vini_Fernandes

Ola Descio Oliveira, preciso de mais uma ajuda sua. Tenho a seguinte classe do modelo de negocois de uma aplicacao:

public class Mensagem {
    private String conteudo;
    private String destinatario;
    private String dataEnvio;
    private Usuario usuario;
    private String horario;
    private String assunto;

    public String getAssunto() {
        return assunto;
    }

    public void setAssunto(String assunto) {
        this.assunto = assunto;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }
    
    public String getConteudo() {
        return conteudo;
    }

    public void setConteudo(String conteudo) {
        this.conteudo = conteudo;
    }

    public String getDataEnvio() {
        return dataEnvio;
    }

    public void setDataEnvio(String dataEnvio) {
        this.dataEnvio = dataEnvio;
    }

    public String getDestinatario() {
        return destinatario;
    }

    public void setDestinatario(String destinatario) {
        this.destinatario = destinatario;
    }

    public String getHorario() {
        return horario;
    }

    public void setHorario(String horario) {
        this.horario = horario;
    }
  
    public boolean equal(Object o){
        boolean ok = false;
        if(o != null && 
                o instanceof Mensagem && 
                this.getConteudo().equalsIgnoreCase(((Mensagem)o).getConteudo())){
            ok = true;
        }
        return ok;
    }
    
    public int hashCode(){
        int hash =0 ;
        if(this.getConteudo() != null && this.getConteudo().trim().length() > 0)
            hash = this.getConteudo().hashCode();
        
        return hash;
    }
   
}

Quero recuperar as mensagens do ODB filtrando pelas datas, porem quando executo o filtro a pesquisa retorna todas as mensagens da base de dados. A pesquisa que efetuo é a seguinte:

public List<Mensagem> buscarMensagensPorData(String data){
        List<Mensagem> c = new ArrayList<Mensagem>();
        IQuery q = new CriteriaQuery(Mensagem.class, Where.and().add(Where.equal("dataEnvio", data)));
        Collection<?> objetos = sessao.getObjects(Mensagem.class);
        for(Object o : objetos){
            c.add((Mensagem)o);
        }
        return c;
}

voce tem alguma ideia de onde estou errando??

Obrigado

Vini_Fernandes

Já resolvi…rsrs. A linha que tinha problema éa seguinte:

IQuery q = new CriteriaQuery(Mensagem.class, Where.and().add(Where.equal("dataEnvio", data)));   
//linha com problema
Collection<?> objetos = sessao.getObjects(Mensagem.class);

deveria ter:

IQuery q = new CriteriaQuery(Mensagem.class, Where.and().add(Where.equal("dataEnvio", data)));   
//Collection<?> objetos = sessao.getObjects(Mensagem.class);   
Collection<?> objetos = sessao.getObjects(q);

distração…rsrs

Criado 4 de abril de 2009
Ultima resposta 28 de mai. de 2009
Respostas 5
Participantes 2