一、概述
EJB2.0的学习已经完工了,现在正在学习3.0.还是基于weblogic的sample.经过这两天的研究,发现此示例非常之强大,麻雀虽小,五脏俱全.在这个示例中集中了对J2EE5中EJB3的JPA,SessionBean,MessageDrivenBean,Ajax+Web四个方面的应用.比较全面的展示了EJB3.0的新特性。
主要是对数据库中Book,Movie,Person,Artist等简单的数据表通过EJB3的各种方式进行CRUD操作,并提供页面上的Ajax示范,采用dwr框架. 本教程将对这四个方面分别配合示例代码进行讲解.并附加一些必要的J2EE5的新规范知识,随后会慢慢更新上来.
二、示例工程结构简介
附件中的工程
EJB30为EAR工程:
Application.xml:
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"> <display-name>EJB30</display-name> <module > <web> <web-uri>EJB30WEB.war</web-uri> <context-root>/EJB30WEB</context-root> </web> </module> <module > <ejb>EJB30EJB.jar</ejb> </module> </application>
Ejb30EJB为EJB工程
EJB30WEB为WEB工程,对EJB工程进行调用
下载ear包后对包中的persistence.xml中的数据源进行修改配置
<properties>
<property name="kodo.ConnectionURL" value="jdbc:oracle:thin:@127.0.0.1:1521:test"/>
<property name="kodo.ConnectionDriverName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="kodo.ConnectionUserName" value="test"/>
<property name="kodo.ConnectionPassword" value="test"/>
<property name="kodo.jdbc.SynchronizeMappings" value="refresh"/>
</properties>
然后配置好自己的weblogic JMS server.安装ear包就可以运行了.另提供源码下载.运行之后,JPA会根据数据源配置自动update数据库,生成表结构的初始数据.
三、持久层POJO Model
基本事物Book,Music,Movie继承自基类Item.人物类型Artist,Reviewer继承自Person.通过Artist和Review操作几个事物表。Book,Music,Movie,Artist,Reviewer和数据库建立O/R映射。