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?
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.
[quote=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.
[/quote]
Sim sim… ja existe uma tabela no banco.
A pergunta é: qual é a melhor abordagem? Criar uma classe por tabela? Ou o que?
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).