..
Agora vamos ver como criar uma camada ORM usando Hibernate 3 e JPA 2 (para a correta compreensão desta lição, é assumido que o leitor tenha conhecimentos básicos sobre a fonte de dados e o funcionamento do Hibernate e JPA).
Suponha que temos um DB MySQL instalado em nossa máquina, primeiro vamos definir a nossa applicationContext.xml uma fonte de dados que se conecta ao nosso DB:
<-! FONTE DE DADOS -> <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mrweb" /> <property name="username" value="mrweb" /> <property name="password" value="s3cret" /> <Bean />Uma vez que criar uma fonte de dados criada para unidade de persistência JPA localizado no META-INF/persistence.xml arquivo:
<? Xml version = "1.0" encoding = "UTF-8"?> <Persistência xmlns = "http://java.sun.com/xml/ns/persistence" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation = "http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version = "2.0"> <persistence-unit name="pu" transaction-type="RESOURCE_LOCAL" /> <Persistência />Neste ponto estamos prontos para integração com Hibernate e JPA:
<! - JPA e Hibernate -> <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="database" value="MYSQL" /> <property name="showSql" value="true" /> <property name="generateDdl" value="true" /> <Bean />Sem esta nossa creaimo EntityManagerFactory que nos permitirá injetar o DAO em nosso EntityManger:
<-! ENTITY MANAGER DE FÁBRICA -> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="myDataSource" /> <property name="persistenceUnitName" value="pu" /> <property name="jpaVendorAdapter" ref="jpaVendorAdapter" /> <Bean />Exemplo de entidade que criamos agora a Car:
pacote it.mrwebmaster.hibernate;
importação java.util.Date;
javax.persistence.Column importações;
javax.persistence.Entity importações;
javax.persistence.GeneratedValue importações;
javax.persistence.Id importações;
javax.persistence.PersistenceUnit importações;
@ Entity
@ PersistenceUnit (unitName = "can")
public class Car {
@ Override
public String toString () {
"Car [id =" return + id + "name =" + nome + ", year =" + ano + "]";
}
@ Id
@ GeneratedValue
private String id;
@ Column
private String nome;
@ Column
anos Data privado;
pública Integer getId () {
retorno id;
}
public String getName () {
retornar o nome;
}
getYear Data pública () {
voltar ano;
}
public void setId (Integer id) {
this.id = id;
}
setName public void (String nome) {
this.name name =;
}
setYear public void (ano Data) {
this.year = ano;
}
}
Nossa entidade tem apenas três colunas: Id, Nome e Ano, onde a coluna Id é a nossa chave primária que será gerado automaticamente pelo Hibernate.
<-! ANNOTATION JPA -> <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />torna desnecessário especificar, dentro da unidade de persistência, a lista de entidades em nossa aplicação.
| |
Linux (Curso)
Guia completo para open-source do sistema. A partir de 49 €. |
| |
PHP (Curso)
Curso completo para a criação de sites dinâmicos. A partir de 49 €. |
| |
Ruby e Ruby on Rails (Curso)
Criar aplicações de software e Web com Ruby e RoR. A partir de 39 €. |