JPA是JavaEE5提出的一套标准接口,不同的应用服务器对其实现采用不同的框架。JBoss不用说底层采用的肯定就是Hibernate(Hibernate是JBoos社区的开源产品),一提到Hibernate就不用多说了,ORM思想的推广与盛行,可以说大部分都是Hibernate的功劳。面向对象数据库没稳定前,笔者觉得它还是OR-Mapping的霸主(当然ibatis也有它的适用场景,因项目而定)。到EJB3.0的标准抛弃了以前的实体Bean的概念,吸收了ORM思想的优势,推出了JPA的标准。至于JPA的笔记在笔者前面的Blog()中已经单独作为一个技术做了学习笔记。这里只是对EJB+JPA集成起来作为总结。
1. JPA配置元文件persistence.xml
在项目src/META-INF/增加persistence.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<persistence 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_1_0.xsd"
version="1.0">
<persistence-unit name="JavaEE4JbossPU"
transaction-type="JTA">
<jta-data-source>java:/jbossdemo</jta-data-source>
<class>jpa.vo.Person</class>
</persistence-unit>
</persistence>
|
注意:因为考虑到项目运行时环境移植的问题,虽然在此时知道JBoss底层使用了Hibernate框架作为JPA的实现,但是这个配置文件也没写出一些Hibernate特殊属性的配置,比如:hibernate.show_sql、hibernate.dialect、hibernate.format_sql等等。在此处,指定了持久化单元名JavaEE4JbossPU,事务类型采用JTA(至于是容器级JTA还是代码级JTA之后看SessionBean的时候再说),制定一个数据源,此处是用JNDI名指代一个数据源名称。
2. 根据数据库表建立实体对象
数据库表结构DDL如下:
CREATE TABLE `person` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;
|
根据此表实体对象代码如下:
package jpa.vo;
@Entity
@Table(name = "person")
public class Person implements java.io.Serializable {
// Fields
/**
*
*/
private static final long serialVersionUID = 7441495112741073549L;
private Integer id;
private String name;
// Constructors
/** default constructor */
public Person() {
}
/** full constructor */
public Person(String name) {
this.name = name;
}
// Property accessors
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true, nullable = false)
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name = "name")
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
|
具体的注解在此就不做解释了。
分享到:
相关推荐
JavaEE5学习笔记07-Web层与EJB集成总结。
JavaEE5学习笔记05-EJB之会话Bean总结...
JavaEE5学习笔记09-将EJB发布成WebService总结。
JavaEE5学习笔记12-JSF集成AJAX使用经验总结。
JavaEE5学习笔记02-JNDI与RMI,
JavaEE5学习笔记13-JSF集成Facelets使用经验总结.
JavaEE5学习笔记04-JavaMail使用总结----
JavaEE5学习笔记03-JMS介绍与使用..
JavaEE5学习笔记01-JTA和数据库事务.
JavaEE5学习笔记11-JSF转换器验证器使用经验总结。
EJB之消息驱动Bean的总结。ejb 消息驱动Bean j2ee jms java
JPA学习笔记-EJB-06JPA+Spring使用经验。
NULL 博文链接:https://suhuanzheng7784877.iteye.com/blog/909104
JavaEE源代码 spring-jpaJavaEE源代码 spring-jpaJavaEE源代码 spring-jpaJavaEE源代码 spring-jpaJavaEE源代码 spring-jpaJavaEE源代码 spring-jpaJavaEE源代码 spring-jpaJavaEE源代码 spring-jpaJavaEE源代码 ...
JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源...
javaee-api-8.0-javadoc.jar,这是javaee1.8api的jar包,解压后可用javadoc2chm制作成chm帮助文档。
JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-...
java javaee-api-6.0-5
先电云计算软件服务-云存储网盘JavaEE网络应用开发手册-Cloud-SaaS-Web-v2.0先电云计算软件服务-云存储网盘JavaEE网络应用开发手册-Cloud-SaaS-Web-v2.0先电云计算软件服务-云存储网盘JavaEE网络应用开发手册-Cloud-...