Pergunta

Estou desenvolvendo (outro) framework web Java para uso pessoal, e, além de que eu também quer desenvolver somekind de framework de persistência.

Eu já desenvolveram e motor que, a fim de acessar a tabela, você só deve estender uma classe e criar seus campos com o mesmo tipo e nome daqueles na tabela. Ex:

private int id;
private String nome; 

Assim, você só precisa agora de construir a consulta e executar. O motor de colocar os valores nos campos corretos.

Recentemente eu tive uma muito boa experiência com Django, wich a fim de atualização, criar e filtrar a tabela que você só precisa chamar .Save (), .Create (field1 = campo, field2 = 213) e,. filtro (filterfield = valor).

Eu quero construir isso, mas eu estou tendo alguns problemas, porque a classe estendendo teria que realmente escrever mais, fato que eu não quero vigor. Eu tive a idéia para a classe estendendo escrever um enum implementação de uma interface. Assim, a classe super obtenha esses campos, juntamente com uma HashMap privada (a chave é o enum) e manter os valores, para que o cliente apenas chama:

String nome = Usuarios.get(Usuarios.fields.name); 

Para recuperar o valor.

Usuarios.update(new Pair(Usuarios.fields.name, "José Leal"), new Pair(Usuarios.fields.sobrenome, "Domingues")); 

Para atualizar e assim por diante.

Alguém tem uma idéia melhor? Eu também uso quadro velocidade, então eu gostaria que o meu campo para ser acessível pelo seu getter.

ps: Eu sei que a existência de hibernação e etc

.
Foi útil?

Solução

Gostaria de sugerir que você não forçar os usuários a estender uma das suas próprias classes para os seus objetos de modelo. Isso bloqueia-los de estender suas próprias classes, e os torna mais vulneráveis ??a API mudanças que você pode fazer mais tarde.

já Vendo como javax.persistence define anotações que podem ser usados ??para propriedades de mapeamento para um banco de dados, eu sugiro vez que você deixar os usuários fazem POJOs para seus objetos de modelo com propriedades anotadas. Dessa forma, juntamente com os outros benefícios mencionados, você está seguindo um já estabelecido padrão e diminuindo assim a barreira de entrada para os usuários.

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