Estudando as APIs de persistências existentes, verifiquei a BOXSQL (inclusive há um tópico aki no GUJ que discute mto bem essa API).
Porém fiquei com uma dúvida:
É correto dizer q a API do BOXSQL é uma forma de ORM ou não?
Pq em todos os artigos que encontrei, fala que BOXSQL é uma api de persistência flexível!
Sendo assim, qual a diferença entre persistência flexível e o ORM?
BoxSql é uma gambiara nojenta pra programadores gambiarentos.
Se voce quer alguma coisa decente pra fazer mapeamento objeto relacional estude Hibernate, Jpa ou Ibatis.
Fui.
ddduran
o BoxSql é basicamente um framework para separar o codigo SQL do seu codigo fonte (java no caso).
Soluções ORM são coisas muito maiores com muito mais coisas, mas que basicamente tenta resolver a incompatibilidade com o mundo relacional e o OO
mas da uma lida melhor aqui (para eu não me estender muito)
I
inicjava
Alucard33, pelo contrário do que vc pensa, achei o BoxSQL bastante convincente, e não acho q o código fica uma gambiarra e sim bem mais organizado, só não posso dizer o mesmo para aplicações mais complexas, pois ainda não o testei dessa forma.
ddduran, tb bem q o BoxSQL separe o código SQL do JAVA. Mas ao meu ver, ele faz praticamente a mesma coisa que a JPA, que vc nao trabalhar com ResultSets e sim com objetos e listas de objetos.
Por isso minha dúvida, se BoxSQL é ou não um ORM? Em que pontos ele deixa de ser um ORM ou nao é?
Grato
A
Alucard33
Cara o BoxSql não tem nada de ORM, já que voce trabalha com sql puro, a unica coisa que o boxsql faz é tirar o sql do
código java, mas fica aquele monte de arquivos .sql em seu projeto.
Todo o mapeamento é feito no braco via sql, então dizer que essa porcaria é objeto relacional é uma blasfemia.
ddduran
no BoxSQL vc faz as querys e ele atribui os valores via reflection, no hibernate(por exemplo) você não precisa fazer as querys ele que cria elas pra você.
outras coisas que o BoxSQL não tras é idependencia de banco, gerenciamento de conexão, lazy, e muito mais.
Um ORM tenta reduzir a incompatibilidade entre o OO e o relacional já o BoxSQL não faz isso só coloca os sqls de um lado para o outro.