Persistência Persistência é um dos aspectos mais importantes de sistemas corporativos - grande parte desses sistemas devem em algum ponto persistir informações em um sistema gerenciador de banco de dados. A tecnologia Java conta hoje com algumas formas de facilitar o acesso a SGBD's - algumas são especificações Java como o JDBC e o JPA, outras são tecnologias desenvolvidas por terceiros como o Hibernate. O Framework Demoiselle facilita o acesso e a configuração a algumas dessas tecnologias fornecendo produtores padrão para seus pontos de entrada e centralizando a configuração. Tudo que o desenvolvedor deve fazer é apenas injetar o recurso adequado em seu código e o Framework Demoiselle se encarregará de produzi-lo e configurá-lo.
JDBC O Framework Demoiselle fornece um produtor padrão para conexões JDBC puras. Esse produtor possui suporte ao acesso direto utilizando uma URL e ao acesso via DataSource, acessando a conexão através de um nome JNDI configurado em um servidor de aplicação. A persistência de dados usando JDBC está disponível na extensão demoiselle-jdbc. Para ter acesso a essa extensão em um projeto Maven declare sua dependência no arquivo pom.xml de seu projeto. Para acrescentar a dependência à extensão demoiselle-jdbc, adicione esse código em seu arquivo pom.xml, na seção dependencies. br.gov.frameworkdemoiselle demoiselle-jdbc compile ]]>
Configuração A conexão será criada pela fábrica do Demoiselle de acordo com as configurações no arquivo de propriedade (demoiselle.properties). Para configurar uma conexão diretamente através de uma URL utilize as propriedades abaixo: Propriedade Descrição frameworkdemoiselle.​persistence.​driver.​class Implementação da interface java.sql.Driver que dá acesso ao SGBD utilizado pela aplicação. frameworkdemoiselle.​persistence.​url URL de conexão no formato jdbc:vendor:database-properties. frameworkdemoiselle.​persistence.​username Login de acesso ao SGBD. frameworkdemoiselle.​persistence.​password Senha de acesso ao SGBD. Também é possível configurar o acesso indicando um nome JNDI que esteja configurado no servidor de aplicação. Propriedade Descrição frameworkdemoiselle.​persistence.​jndi.​name Nome JNDI criado no servidor de aplicação para dar acesso à conexão ao banco de dados. É possível configurar mais de uma conexão JDBC. Para isso acrescente nas propriedades nomes separados para cada conexão como no exemplo abaixo: Criando múltiplas conexões frameworkdemoiselle.​persistence.​conn1.​driver.​class=MinhaClasse frameworkdemoiselle.​persistence.​conn1.​url=MinhaURL frameworkdemoiselle.​persistence.​conn1.​username=MeuLogin frameworkdemoiselle.​persistence.​conn1.​password=MinhaSenha frameworkdemoiselle.​persistence.​conn2.​driver.​class=MinhaClasse frameworkdemoiselle.​persistence.​conn2.​url=MinhaURL frameworkdemoiselle.​persistence.​conn2.​username=MeuLogin frameworkdemoiselle.​persistence.​conn2.​password=MinhaSenha frameworkdemoiselle.​persistence.​conn1.​jndi.​name=MeuJndiName1 frameworkdemoiselle.​persistence.​conn2.​jndi.​name=MeuJndiName2 Caso várias conexões sejam configuradas, é possível determinal a conexão padrão - aquela que será utilizada quando o desenvolvedor não especificar qual deseja utilizar. Propriedade Descrição frameworkdemoiselle.​persistence.​default.​datasource.​name Caso múltiplas conexões sejam criadas, define a conexão padrão quando uma Connection é injetada no código sem utilizar a anotação @Name.
Utilização Para utilizar uma conexão JDBC em seu código, basta injetá-la. O Demoiselle se encarregará de produzir o tipo adequado de conexão. Caso multiplas conexões tenham sido definidas, é possível utilizar a anotação @Name para injetar uma conexão específica. Caso a propriedade frameworkdemoiselle.persistence.default.datasource.name seja utilizada para especificar uma conexão padrão, a anotação @Name só é necessária para utilizar conexões diferentes da padrão. Caso essa propriedade não seja utilizada e existam múltiplas conexões configuradas, torna-se obrigatório o uso da anotação @Name em todos os pontos de injeção.