Biblioteca ORM



  • Olá pessoal,

    Estou desenvolvendo uma biblioteca ORM em C++ para o framework Qt com foco em facilidade de uso para apresentar como meu trabalho de final de curso.
    Meu objetivo é de criar um ambiente de configuração próximo ao das anotações presentes na linguagem Java e C#.

    Minha biblioteca está na versão 0.1, e entre suas características está o mapeamento através de metadados inseridos na classe a ser mapeada, interface de configuração simulando anotações, inserção e atualização dinâmica de metadados em tempo de execução e suporte ao Sqlite e ao PostgreSql.

    Um exemplo de uso da biblioteca seria o seguinte:

    @class Pessoa {
    private:
    QString m_nome;
    QString m_sobrenome;

    ORM4QT_BEGIN
        CLASS(name="Pessoa", table="pessoas", autoid="id")
        PROPERTY(m_nome, column="nome", required=true, maxlength=100)
        PROPERTY(m_sobrenome, column="sobrenome", required=false)
    ORM4QT_END
    

    };@

    @
    auto rep = Orm4Qt::Repository(new Orm4Qt::SqliteProvider("db.sqlite"));
    //criando novo registro
    Pessoa p;
    //... ajusta os atributos através de gets e sets ...
    //Salvando registro no banco de dados
    if(rep.saveObject<Pessoa>(p))
    qDebug() << "ok";
    else
    qDebug() << rep.lastError()->description();
    //Fim salvando registro no banco de dados
    @

    Preciso encontrar outros bibliotecas ORM com ambiente de configuração semelhante para fazer a comparação confrontando a facilidade de configurar o ambiente de desenvolvimento e do próprio uso. Alguém me sugere alguma biblioteca em específico para comparar?

    Desde já, obrigado!



  • Você poderia dar uma olhada no Hibernate (Java), NHibertnate (C#) ou no Entity Framework (C#).

    Tem o "QxOrm":http://www.qxorm.com/qxorm_en/home.html também.



  • Não sei ajuda, mas encontrei este projeto a algum tempo atrás.
    http://www.qxorm.com/qxorm_en/home.html



  • Valeu pessoal, vou utilizar o ORM QxOrm e encontrei um outro chamado "ODB":http://www.codesynthesis.com/products/odb/ . Desculpe a demora em responder, e muito obrigado pela ajuda.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.