Artigo no DeveloperWorks, que explica como utilizar Generics, com Hibernate para escrever o seu DAO de forma mais genérica…
http://www-128.ibm.com/developerworks/java/library/j-genericdao.html?ca=drs-
Isto já vem sendo abordado a algum tempo, no blog da caelum tem um artigo sobre DAO + Generics:
Mas o que me chamou a atenção para o artigo do developerworks, é utilizar o SpringAOP para encapsular determinada interface como um proxy, e fornecer uma implementação dela em runtime, utilizando algumas convenções…
Então no artigo, a seguinte interface é utilizado no código normalmente, sem ser necessário implementá-la:
public interface PersonDao extends GenericDao<Person, Long> {
List<Person> findByName(String name);
}
E utilizando “convention over configuration” o arquivo XML do Hibernate é utilizada para buscar os dados… Como o nome da query é findByName e o nome do método também, a query do XML é automaticamente executada.
<query name="Person.findByName">
<![CDATA[select p from Person p where p.name = ? ]]>
</query>
O exemplo é simples, mas o que os colegas do guj pensam em utilizar este tipo de recurso?
O código fica limpo e claro, ou pq está na moda, ou vocês acham isto “too much magic” ? Esse seria um caso bom para o uso de AOP?