Pergunta

Eu tenho procurado uma alternativa para hibernar por várias razões. Eu me deparei com o LIFIBASE e gosto da ideia, então estou disposto a experimentá -la. O LICIBASE atenderá a criação/modificação do banco de dados de maneira independente do SQL. Minha principal pergunta é como meu código em meu aplicativo executa instruções SQL sem ser dependente do banco de dados? Existe algum outro projeto que age como Hibernates Dialets Classes?

Obrigado,

Paulo

Foi útil?

Solução

Minha principal pergunta é como meu código em meu aplicativo executa instruções SQL sem ser dependente do banco de dados?

Bem, a única maneira de realmente conseguir isso é usar uma linguagem de consulta de nível superior do que o SQL que seria traduzido para o SQL específico do banco de dados. E já temos alguns DSLs (proprietários, padrão) para isso: TOPLINK QL, EJB-QL, JDO QL, HQL, JPQL, etc. Minha sugestão seria escolher seu veneno (mas, por favor, não role sua própria solução ).

Outras dicas

Um dos problemas com o uso do SQL é que ele depende do fornecedor. Eu não acho que exista alguma maneira de contornar isso sem usar uma biblioteca ou estrutura de terceiros (como o Hibernate!).

Mas se você for com SQL, eu recomendo fortemente que você dê uma olhada Ibatis.

Durante o desenvolvimento, você pode definir a configuração de implementação para "padrão" do recurso no Visual Studio.Na produção você tem que automatizar a instalação.Isso pode ser feito usando o SharePoint Management Shell (PowerShell).

O processo é documentado em msdn

Se você deseja usar as classes de geração SQL da LIFLIBASE fora do processo LIFIBASE normal, você pode. Especialmente em 2.0, as aulas de geração SQL foram melhoradas e abstratas, mas, dependendo do que você deseja executar, isso pode não atender às suas necessidades.

Como o LIFIBASE trata das migrações de banco de dados, a maior parte da lógica independente do banco de dados é em torno das instruções DDL (crie tabela/adição de coluna etc.) e não tanto em torno de instruções de inserção/atualização/exclusão. Sem saber que tipo de declarações você executará, eu suponho que você esteja mais preocupado com as instruções de inserção/atualização/exclusão entre dados cruzados, caso em que você será melhor atendido por Hibernate/ibatis/etc.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top