..


赞助商链接

数据访问 - 创建一个ORM层采用Hibernate和JPA

现在让我们看看如何创建一个使用 Hibernate ORM层3JPA 2(本节课的正确认识,它是假定读者已经对数据源和Hibernate和JPA操作的基本知识)。

假设我们有一个数据库的MySQL对我们的机器上安装,首先让我们来定义applicationContext.xml中的数据源连接到我们的数据库:






 < - 数据源 - >







 <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">



  



物权name="d​​riverClassName" value="com.mysql.jdbc.Driver" />



  



物权name="url" value="jdbc:mysql://localhost:3306/mrweb" />



  



物权name="username" value="mrweb" />



  



物权name="password" value="s3cret" />







 </豆>



一旦我们创建了一个数据源文件中的JPA 持久性 META-INF/persistence.xml位于单位创建:





 <?XML版本=“1.0”编码=“UTF - 8”?>







 <持久性的xmlns =“htt​​p://java.sun.com/xml/ns/persistence”



  



的xmlns:XSI =“htt​​p://www.w3.org/2001/XMLSchema-instance”



  



 XSI:的schemaLocation =“htt​​p://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd”



  



版本=“2.0”>







 <persistence-unit name="pu" transaction-type="RESOURCE_LOCAL" />







 </持久性>



在这一点上,我们准备结合Hibernate和JPA:





 < - !JPA和Hibernate - >







 <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">



  



物权name="d​​atabase" value="MYSQL" />



  



物权name="showSql" value="true" />



  



物权name="generateDdl" value="true" />







 </豆>



如果没有这个我们creaimo 的EntityManagerFactory,使我们能够注入到我们的EntityManger的DAO:





 < - 厂长实体 - >







 <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">



  



物权name="d​​ataSource" ref="myDataSource" />



  



物权name="persistenceUnitName" value="pu" />



  



物权name="jpaVendorAdapter" ref="jpaVendorAdapter" />







 </豆>



例如,我们创建实体现在的汽车:





 it.mrwebmaster.hibernate包;









进口java.util.Date的;









 javax.persistence.Column进口;







 javax.persistence.Entity进口;







 javax.persistence.GeneratedValue进口;







 javax.persistence.Id进口;







 javax.persistence.PersistenceUnit进口;









 @实体







 @ PersistenceUnit(的unitName =“可以”)







公共类汽车{





  



 @覆盖



  



公共字符串的toString(){



    



返回“车[ID =”+ ID +“名称=”+名称+“,一年=”+年+“]”;



  



 }





  



 @ ID



  



 @ GeneratedValue



  



私人字符串ID;



	

  



 @柱



  



私人字符串名称;





  



 @柱



  



私人日期一年;





  



公共整数的getId(){



    



返回的id;



  



 }





  



公共字符串getName(){



    



返回的名称;



  



 }





  



公开日期getYear(){



    



回归年;



  



 }





  



公共无效SETID(整数ID){



    



 this.id = ID;



  



 }





  



公共无效的setName(String名称){



    



 this.name =名称;



  



 }



	

  



公共无效setYear(日期年){



    



 this.year =年;



  



 }







 }



我们的实体只有三列:ID,名称,年份,其中ID列是我们的主键,将自动生成Hibernate的。
经在我们的配置参数“=真正的法案”规定,Hibernate将更新我们的数据库中的表自动。
'S使用注释@这个配置行nell'applicationContext的Xml PersistenceUnit:





 < - !JPA注释 - >







 <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />



就不必在指定的持久化单元,在我们的应用程序实体的名单。

春天的Java指南
电子学习
Linux操作系统(课程) Linux操作系统(课程)
完整指南开源系统。 从49€。
PHP(课程) PHP(课程)
全部课程用于创建动态Web站点。 从49€。
Ruby和Ruby on Rails的(课程) Ruby和Ruby on Rails的(课程)
创建Ruby和RoR的软件和Web应用程序。 从39€。
赞助商链接