A algum tempo atrás alguém perguntou no GUJ se o Hibernate fazia consultas (utilizando Criteria) excluindo propriedades vazias ( "" ).
Nativamente o Hibernate não dispoem desses recurso, porem utilizando Example podemos implementar PropertySelector para faze-lo exatamente como implementação do Example.excludeZeroes()
Exemplo de PropertySelector
JAVA:
-
public final class NotNullOrBlankPropertySelector implements PropertySelector {
-
public boolean include
(Object object,
String propertyName, Type type
) {
-
return object!=null && (
-
!
(object
instanceof String) || !
( (String) object
).
equals("")
-
);
-
}
-
}
Como utilizar
JAVA:
-
HibernateUtil.getSession()
-
.createCriteria(SuaEntidade.class)
-
.add( Example.create(suaInstancia).setPropertySelector(new NotNullOrBlankPropertySelector()) )
-
.list();
- Por Daniel Passos em 29/June/2007
- Nenhum Comentário »
No Translations
Coincidentemente depois de escrever um post bem comentado sobre a qualidade dos Blogs sobre Flex em Português, tomei conhecimento de que existe um interessante movimento na Web sobre um Código de Conduta dos Blogueiros. E ninguém menos do que Tim O"Reilly está apoiando fortemente o movimento. Para quem não sabe, Tim O"Reilly” é o dono da maior editora de livros técnicos do mundo, a O"Reilly” Media, e pai do termo Web 2.0.
Dentre outras coisas o código prega que as pessoas que possuem blogs devem ter o comprometimento de publicar conteúdo de qualidade e, em troca disto, tem reservado o “direito” de apagar os comentários inaceitáveis.
Eu particularmente creio que o poder da censura é limitado. Se eu publico um comentário que é posteriormente censurado em um blog, posso acessar outros blogs, republicar o comentário original e ainda “denunciar” a censura.
Aqueles que censuram sem justificativa estão prestando um verdadeiro desserviço à comunidade. Na blogosfera a Inteligência é coletiva e os comentários, juntamente com o posts, determinam a qualidade do conteúdo produzido pelo autor, juntamente com os leitores. Os comentários são, de fato, uma extensão do post.
Quando eu publico um exemplo de Flex eu estou não apenas querendo contribuir com a comunidade, mas também querendo debater a solução que estou propondo. Estou certo de que um debate aberto é o único caminho para levar a melhor solução.
Vale a pergunta para a comunidade de Flex em português: Você já teve comentários censurados? O "autor" da censura se justificou? O que você acha disto?
- Por Beck Novaes em 24/June/2007
- 8 Comentários »
No Translations
Os últimos posts que eu fiz me despertaram uma dúvida. Será que os leitores deste blog se importam com código bem escrito ou basta que funcione? Ou melhor, será que as pessoas que trabalham com Flex no Brasil se importam com código bem escrito? Sim, pois tenho visto coisas muito ruins em blogs na comunidade Brasileira de Flex gerarem comentários elogiosos.
Estaria o Flex atraindo muito mais pessoas que se preocupam com a “beleza” da Interface de Usuário do que com a “beleza” do código?
Por que vemos pouquíssimas ou quase nenhuma pessoa que gosta do Flex discutir Orientação a Objetos e Design Patterns?
Será que isto faz parte da curva de adoção de tecnologias novas, onde primeiro você só quer fazer e depois você quer fazer da melhor forma?
Eu adoraria que as pessoas que visitam este blog se manifestassem quanto ao assunto. Caso contrário, ou eu estarei tratando de algo totalmente impertinente ou a comunidade Brasileira pouco se importa mesmo com a qualidade do código das aplicações Flex, tanto que ignora este post, tanto que não se manifesta sobre algumas aberrações que sabemos que existe na blogosfera.
Leia o artigo completo »
- Por Beck Novaes em 21/June/2007
- 43 Comentários »
No Translations
O comprometimento da DClick com a comunidade Flex é cada vez maior. Muitas pessoas que fazem parte do time estão participando ativamente da lista FlexDev e o blog da DClick têm apresentado artigos sobre Flex e RIA com boa freqüência. Neste novo post a DClick disponibiliza mais um componente.
Leia o artigo completo »
- Por Beck Novaes em 18/June/2007
- 19 Comentários »
No Translations
Você já precisou de um efeito que ocultasse os elementos de um TileList um a um? Tenha você precisado disto ou não, o exemplo deste post apresenta uma técnica que eu cosidero elegante para a solução deste problema. E isto deve funcionar não apenas para TileList, mas também para o List ou qualquer outro componente que tenha a classe ListBase como sua ancestral.
Leia o artigo completo »
- Por Beck Novaes em 12/June/2007
- Nenhum Comentário »
No Translations
O RIAForge anunciou recentemente este projeto que permite escolher uma dentre diversas linguagens de Script para trabalhar no CF. Seguindo o exemplo do .NET, isto significa que o programador é livre para escolher a sintaxe que mais lhe agrada.
Agrada? Por isto eu poderia escolher aquela que eu mais gosto? Ou seja, seria a sintaxe uma questão de forma ou teria ela uma importante função?
Algumas sintaxes são mais expressivas que outras. Isto quer dizer que eu posso expressar mais escrevendo menos sob o custo de uma legibilidade reduzida. Para um projeto simples, por exemplo, poderíamos adotar a sintaxe mais expressiva, conseqüentemente mais produtiva embora menos legível. Já para um projeto grande a sintaxe deveria ser a mais legível possível mesmo sendo um pouco mais "burocrática".
Desta forma, a sintaxe escolhida pode estar relacionada ao projeto e não ao gosto pessoal de cada programador. Logo, a sintaxe não é apenas uma questão de forma, desempenhando sim uma importante função no código do software.
- Por Beck Novaes em 7/June/2007
- Nenhum Comentário »
No Translations
A forma mais simples de se criar estilos customizados nos componentes do flex de forma que possamos definir estes estilos em um CSS e que tenhamos valores defaults corretamente definidos possivelmente é esta:
Leia o artigo completo »
- Por Marcos Arruda em 6/June/2007
- Nenhum Comentário »
No Translations