No post anterior eu fiz um resumo das tags JPA que são usadas (que eu uso) para fazer os mepeamentos objeto-relacional.
Neste post eu quero documentar aqui como configurar e grails para usar as classes Java anotadas.
Vamos lá:
1) Criar as classes java no diretório [grails-app-root-dir]/src/Java de sua aplicação em grails.
Geralmente eu crio para minhas aplicações o seguinte package "br.com.[nomeSistema].model".
2) Fazer o mapeamento objeto-relacional com as tags JPA, conforme documentado no post anterior.
Arquivo Pessoa.java
package br.com.applicacaoTeste.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* Classe que representa uma pessoa
*/
@Entity
@Table(name="PESSOA")
public class Pessoa {
/**
* Identificador da propriedade
*/
@Id
@GeneratedValue
@Column(name="PESSOA_ID", nullable=false)
private Long id;
/**
* Nome da propriedade
*/
@Column(name="NOME", length=50, nullable=false, unique=true)
private String nome;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
3) Para cada classe Java criada, criar um arquivo groovy para conter as "constraints" do groovy.
Exemplo:
Arquivo PessoaConstraints.groovy
package br.com.aplicacaoTeste.model
constraints = {
nome(size:1..50,nullable:false)
}
No código em groovy acima, estamos dizendo para o grails que o nome tem que ter pelo menos 1 caracter e não pode ser nulo. Estas constraints podem ser melhor entendidas de acordo com a documentação do grails [veja aqui]
4) Criar o arquivo [grails-app-root-dir]\grails-app\conf\hibernate\hibernate.cfg.xml da seguinte forma:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<mapping class="br.com.aplicacaoTeste.model.Pessoa" />
</session-factory>
</hibernate-configuration>
5) O quinto é ultimo passo é adicionar no arquivo [grails-app-root-dir]/conf/DataSource.groovy uma linha, conforme mostrado abaixo:
dataSource {
pooled = false
driverClassName = "org.hsqldb.jdbcDriver"
username = "sa"
password = ""
//... configuração necessária para reconhecimento das TAGS JPA pelo grails
configClass = org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsAnnotationConfiguration }
... [Restante do conteúdo do arquivo foi omitido]
Agora as telas do cadastro de pessoa podem ser criadas com o comando do GRAILS
grails generate-all br.com.aplicacaoTeste.model.Pessoa
Nenhum comentário:
Postar um comentário