geralmente um par chave-valor. Vocês criam uma classe pra esse tipo de problema? Uma classe?
Eu tava pensando em criar um pacote no meu projeto com uma classe que implementasse MAP<Integer(id), String(descricao))
pra essas tabelas… mas não sei se essa é a melhor abordagem. O que vocês acham?
Depende do caso. Se a tabela não crescer muito, eu uso enums para isso.
faeldix
mas vc deixa isso estatico? nao carrega do banco na hora de utilizar?
V
Vina
Como eu disse, depende do caso. Como as aplicações que eu desenvolvo são basicamente SaaS com um número alto de requests, eu tendo a diminuir o número de joins para evitar usar um overhead desnecessário no banco. Então, dependendo do caso, eu faço apenas o select do id e obtenho as informações restantes pelo construtor implícito do enum.
Com Enums isso vai ficar muito estático, hard-coded.
Se caso aparecer mais um tipo diferente, vc vai ter que gerar outra versão pro cliente?
Se eu fosse voce, faria uma tabela no banco, com isso, alem das vantagens de ser dinâmico, vc pode fazer relatorios como por exemplo qual tipo é mais vendido.
faeldix
igor_ks:
Com Enums isso vai ficar muito estático, hard-coded.
Se caso aparecer mais um tipo diferente, vc vai ter que gerar outra versão pro cliente?
Se eu fosse voce, faria uma tabela no banco, com isso, alem das vantagens de ser dinâmico, vc pode fazer relatorios como por exemplo qual tipo é mais vendido.
Sim sim… ja existe uma tabela no banco.
A pergunta é: qual é a melhor abordagem? Criar uma classe por tabela? Ou o que?
igor_ks
Se já existe uma tabela, crie uma entidade pra ela entao, com id e descrição.
adriano_si
A abordagem dos Enums eu também uso, mas para domínios estáticos da Aplicação, onde você sabe que eles não irão mudar e se mudarem, você terá que alterar sua app de qualquer jeito. Algumas outras coisas tbm poderiam desde sempre ser usadas como enums como Estado Civil, Sexo, etc.
Se seus tipos de perfumes forem mudar com frequencia, use a tabela mesmo, se a frequencia de alterações for quase nula ou nula, simplesmente use os Enums, eles vão tirar o overhead do seu BD (claro, onde isso for realmente importante).