spring+jpa(hibernate)框架搭建.pdf

上传人:索**** 文档编号:76252265 上传时间:2023-03-08 格式:PDF 页数:7 大小:25.70KB
返回 下载 相关 举报
spring+jpa(hibernate)框架搭建.pdf_第1页
第1页 / 共7页
spring+jpa(hibernate)框架搭建.pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《spring+jpa(hibernate)框架搭建.pdf》由会员分享,可在线阅读,更多相关《spring+jpa(hibernate)框架搭建.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Hibernate 的作者目前在为EJB工作,EJB的实体 BEAN刚好被 JPA所代替。JPA的思想和Hibernate 中的思想极为相似,将普通Hibernate 升级为满足JPA规范的 ORM 也是非常方便的。使用 JPA的好处在于:JPA致力于建立ORM 的行业标准,大有一统天下的野心,况且也是 SUM公司的项目。将代码符合JPA规范,有利于移植到其它实现了JPA规范的 ORM 框架。在大型项目中与EJB配合,可以部署在分布式的应用中。Hibernate 使用 JPA的步骤:1、将繁琐的映射xml 文件由 JAVA注释代替。比如将 User 和 Organization 的映射 xml

2、 转换为注释(User 和 Role的多对多关系不考虑):User.hbm.xml 内容如下:Organization.hbm.xml 内容如下:改成注释形式如下:User 类:EntityTable(name=user010t)publicclass User IdGeneratedValue(strategy=GenerationType.IDENTITY)private Long id;Column(name=userID,unique=true,nullable=false)private String userID;Column(name=username,unique=false,

3、nullable=false)private String username;Column(name=password,unique=false,nullable=false)private String password;ManyToOne(cascade=CascadeType.PERSIST,CascadeType.MERGE)JoinColumn(name=OrganizationID)private Organization organization;一系列的setter和 getter省略 Organization类如下:EntityTable(name=organization0

4、10t)publicclassOrganization IdGeneratedValue(strategy=GenerationType.IDENTITY)private Long id;Column(name=name,unique=false,nullable=false)private String name;OneToMany(mappedBy=organization,fetch=FetchType.LAZY)private Setusers;部分成员变量以及一系列的setter和 getter省略 懂 XML 配置的话,这些注释应该很明白意思,不过多解释。不过有一点值得说明,inv

5、erse属性在注释中是没有的,它是默认为true 的,参考的对象则是相对于mappedBy 指定的对象。然后就可以将以前的映射xml 文件删除了。2、在 class文件夹下建立/META-INF/persistence.xml 文件,进行JPA的相关配置内容如下:org.hibernate.ejb.HibernatePersistencecom.wu.myApplication.domain.Usercom.wu.myApplication.domain.Organization其他省略如果这里没有使用spring 的话,可以把数据库连接的相应信息配置进来。因为这里使用了spring 管理,所

6、以配置在spring 中了。如果以后做分布式数据库,那么可以配置多个persistence-unit属性。transaction-type=RESOURCE_LOCAL支持 JTA事务管理和RESOURCE_LOCAL事务管理。如果用了EJB容器,如果做分布式应用的话,好像事务管理只能用JTA。这点不是太清楚,没有做过。class属性配置需要映射的类3、修改 applicationContext.xml 内容如下:com.microsoft.sqlserver.jdbc.SQLServerDriver!-jdbc:sqlserver:/localhost:1433;DatabaseName=h

7、bSystem-jdbc:sqlserver:/localhost:1433;SelectMethod=cursor;DatabaseName=myApplicationsa 1988125352!-其他省略 数据源的配置不变,SessionFactory换成了LocalContainerEntityManagerFactoryBean而且必须注入HibernateJpaVendorAdapter不然在事务管理service 层的时候不起作用。采用注释的方式声明事务管理,在需要事务管理的方法前加注释,如下:TestTransactional(propagation=Propagation.REQUIRED,rollbackFor=Exception.class)publicvoiduserOrganizationSaveTest()方法内容省略注释中的 Propagation.REQUIRED 表示如果transactionManager没有开启事务则新建事务,否则用现有事务。注释中的rollbackFor=Exception.class表示抛出异常时回滚事务。如果使用了多个数据库,那么就必须使用AOP 的方式进行事务的管理。到此为止,不是分布式应用的spring+jpa(hibernate)的框架就搭建完成了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 实施方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁