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.