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学习笔记01-JTA和数据库事务:深入解析与应用 #### 一、JavaEE5概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...
"javaee思维导图版笔记-吉林大学" 本笔记主要涵盖了Java EE的基础知识,包括Servlet、JSP、JNDI、JPA等方面的内容。 一、Servlet概述 Servlet是Java EE中的一种服务器端组件,用于处理HTTP请求并返回响应。...
以上就是JavaEE学习笔记中可能涵盖的关键知识点,它们构成了JavaEE开发的基础,并且每个部分都有深入研究的价值。通过学习和实践这些技术,开发者能够构建出高效、稳定和可扩展的企业级Web应用。
### JavaEE 学习笔记概览 #### 一、JavaEE 概念及发展历程 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems公司为简化企业级应用开发而提出的一套标准化平台,它提供了构建分布式系统的基本框架和...
本"JavaEE2017最新版基础班学习笔记"涵盖了JavaEE入门所需的基本概念和技术,是新手学习JavaEE的良好参考资料。以下将详细介绍其中可能涉及的关键知识点: 1. **Servlet与JSP**:Servlet是JavaEE中处理HTTP请求的...
Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...
JSF的优点包括强大的MVC架构、内置的事件处理机制、丰富的UI组件库以及与EJB和JPA等JavaEE组件的紧密集成。然而,它的学习曲线相对较陡峭,配置相对复杂,尤其是早期版本。此外,尽管JSF提供了数据验证和转换功能,...
这个"Javaee课堂笔记精华总结就业必备"显然是一份针对求职者或初入职场的开发者准备的学习材料,旨在帮助他们掌握JavaEE的核心概念和技术,以提升就业竞争力。 JavaEE平台包括一组服务、APIs和协议,用于构建分布式...
"达内javaSE,javaEE个人学习所有基础笔记"是一个针对初学者的全面学习资源,涵盖了从Java Standard Edition (Java SE)的基础知识到Java Enterprise Edition (Java EE)的高级概念。 Java SE是Java的核心部分,它...
6. **JPA(Java Persistence API)**:JPA是JavaEE提供的ORM(Object-Relational Mapping)规范,简化了Java应用与数据库之间的对象关系映射,替代了传统的EJB实体Bean。 7. **JSF(JavaServer Faces)**:JSF是一...
"javaee"目录下的内容将引导你学习Servlet、JSP、JavaMail、JPA、EJB等技术,以及如何在实际项目中进行企业级应用的开发和部署。 【理论基础】 "理论基础"部分涵盖了计算机科学的基本概念,如数据结构、算法分析、...
【标题】:“北京圣思园java课堂笔记 (javaSE和javaee)” 提供了全面的Java学习资源,涵盖了从基础的Java Standard Edition (javaSE)到进阶的Java Enterprise Edition (javaEE)的相关知识。 【描述】:“北京圣思园...
在JavaEE的环境中,这通常包括Servlet、JSP、EJB(Enterprise JavaBeans)、JPA(Java Persistence API)或者Spring框架的使用。这些代码可能是用来处理HTTP请求、渲染动态网页、管理数据库交互或者实现业务逻辑的。...
- `javaee` 文件夹可能包含Java企业版的相关教程,涵盖了Servlet、JSP、JavaMail、EJB、JMS、JNDI、JPA、Spring框架、Hibernate等企业级应用开发技术。 4. **Web前端资源**: - `index.html` 和 `README.md` 可能...