Então, to estudando ORM para Android. Achei interessante o greenDAO, mas estou no básico ainda, estudando pra ver até onde vai.
Vou dar uma estudada no HADI também, pra ver seu funcionamento. :)
O meu "medo" é quando dizem que é bom pra "projetos simples". rssrs
Saudade do FluentNHibernate do .NET, hehe.
--
Em 31 de agosto de 2012 14:46, Pedro Subutzki <Pepeu> <falecompepeu@gmail.com> escreveu:
Bom... ainda falando sobre ORMs, eu já testei vários e não gostei do GreenDAO! :)
Um projeto que gostei muito foi o Aliendroid-ActiveRecord (https://github.com/marloncarvalho/aliendroid-activerecord) feito pelo Marlon Carvalho. Testei o projeto e funcionou muito bem, porém só achei um problema nele. O Aliendroid-ActiveRecord não funciona em classes que extendem IntentServices ou Services. :(
Foi por isso que eu começei a trabalhar com o HADI.
De qualquer forma, teste vários ORMs e veja qual se adapta melhor a sua necessidade! :)
--
Abraços,
Pedro Subutzki
__________________________________________
HADI - Makes SQLite in Android easy and simple
https://github.com/PepeuCps/HadiEm 31 de agosto de 2012 14:37, Pedro Subutzki <Pepeu> <falecompepeu@gmail.com> escreveu:
Então... no caso, o HADI funciona de forma diferente.
Ele usa reflection nas classes (modelos) procurando pelos annotations, e apesar de usar reflection ele tem um bom desempenho.
No HADI se vc acrescentar mais uma propriedade na sua classe, vc não precisa RE-gerar o modelo (como o caso do GreenDAO), ou sair varrendo o codigo mudando seus DAOs (caso do pessoal que não usa ORM). Com o HADI não há essa necessidade! :)
Só reforço que ele não é uma bala de prata e não vai resolver todos os problemas da galaxia, mas pra projetos simples ele supre 100%.
Ganhamos muito tempo no desenvolvimento aqui!
--
Abraços,
Pedro Subutzki
__________________________________________HADI - Makes SQLite in Android easy and simple
https://github.com/PepeuCps/HadiEm 31 de agosto de 2012 14:28, Felipe Aron <felipearon@gmail.com> escreveu:
Isso mesmo, eu crio um Schema e ele gera as classes pra mim.Em 31 de agosto de 2012 14:03, Pedro Subutzki <Pepeu> <falecompepeu@gmail.com> escreveu:
Sim... No HADI ele cria o DB automaticamente (vc escolhe o nome).
Com relação a chave, ela depende de vc colocar o annotation na propriedade.
Segue exemplo de uma classe:
import com.the9tcat.hadi.annotation.Column;
import com.the9tcat.hadi.annotation.Table;
@Table(name="Livro")
public class Book {
@Column(autoincrement=true)
public int id;
@Column(name="sn")
public String sn;
@Column(name = "Titulo")
public String name;
}
Se me lembro bem o GreenDAO ele gera as classes baseado num Schema, né?!
--
Abraços,
Pedro Subutzki
__________________________________________
HADI - Makes SQLite in Android easy and simple
https://github.com/PepeuCps/HadiEm 31 de agosto de 2012 13:05, Felipe Aron <felipearon@gmail.com> escreveu:
Pedro, uma pergunta - esse HADI cria o db pra você automaticamente?Se cria, ele cria o campo PK autoincrement NULL?
Em 31 de agosto de 2012 11:48, Pedro Subutzki <Pepeu> <falecompepeu@gmail.com> escreveu:
Olá Felipe,
Infelizmente não posso ajudar sobre o GreenDAO, mas se quiser testar um outro ORM, teste o HADI:
https://github.com/PepeuCps/Hadi
Sobre ele, poderei responder as suas dúvidas.
Qualquer coisa me manda um e-mail que te envio o ultimo JAR do projeto. :)
--
Abraços,
Pedro Subutzki
__________________________________________HADI - Makes SQLite in Android easy and simple
https://github.com/PepeuCps/HadiEm 31 de agosto de 2012 09:07, Felipe Aron <felipearon@gmail.com> escreveu:
Galera, to começando a estudar o ORM greenDao e já pintou uma dúvida que não encontrei na documentação.Tenho o seguinte schema:public static void addPessoa(Schema schema) {Entity pessoa = schema.addEntity("Pessoa");pessoa.addIdProperty().autoincrement().notNull();pessoa.addStringProperty("nome").notNull();}Na documentação cria um IdProperty() sem "notNull". Acho estranho uma PK não ser "notNull" por isso eu adicionei.Porém agora com "notNull" como fica a inserção? Se fizer assim dá erro de código:pessoaDao.insert(new Pessoa(null, "Felipe"));Porém se ficar assim, ele grava, mas não incrementa automático, incluindo o "id" indicado no construtor:pessoaDao.insert(new Pessoa(0, "Felipe"));Como resolver isso?--Analista-Programador
Analista-Programador
0 comentários:
Postar um comentário