开发运行环境:NetBeans7.3.1。
为了重点介绍Java EE 7的新特性,这里不重头开始构建项目,而是在一定基础上添加新的功能。
有关Java EE的其它特性请参考《开发JavaEE 6 系列文章》。
下面介绍一下项目已经创建的对象。
可以看出,项目已经构建了JPA Entities和REST Web Services。
数据库表如下图:
JPA Entities 和 EJB 以及RESTful Path对应关系如下:
除此之外,项目还使用Maven建立项目依赖关系,pom.xml内容如下:
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
Java EE 7有两个Profile,一个是Full Platform Profile,另一个是Web Profile。
这里使用Full Platform Profile,将会从Maven repository中获取依赖的库文件。
JPA持久化配置文件:persistence.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="movieplex7PU" transaction-type="JTA">
<!--<jta-data-source>java:comp/DefaultDataSource</jta-data-source>-->
<properties>
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
<property name="javax.persistence.schema-generation.create-source" value="script"/>
<property name="javax.persistence.schema-generation.drop-source" value="script"/>
<property name="javax.persistence.schema-generation.create-script-source" value="META-INF/create.sql"/>
<property name="javax.persistence.schema-generation.drop-script-source" value="META-INF/drop.sql"/>
<property name="javax.persistence.sql-load-script-source" value="META-INF/load.sql"/>
<property name="eclipselink.logging.exceptions" value="false"/>
<!--<property name="eclipselink.logging.level" value="FINE"/>-->
</properties>
</persistence-unit>
</persistence>
虽然java:comp/DefaultDataSource被注释掉了,但Java EE 7规定应用服务器必须默认提供一个JNDI名为java:comp/DefaultDataSource的DataSource,因此即使注释了也没关系。
另外, JPA 2.1还提供了javax.persistence.schema-generation.*属性,用于创建数据库对象,比如tables、indexes和constraints。
项目中已经包含了这些数据库脚本,比如:create.sql、drop.sql和load.sql。
Project 下载:3. movieplex7(Walk-Through).7z
为了重点介绍Java EE 7的新特性,这里不重头开始构建项目,而是在一定基础上添加新的功能。
有关Java EE的其它特性请参考《开发JavaEE 6 系列文章》。
下面介绍一下项目已经创建的对象。
数据库表如下图:
JPA Entities 和 EJB 以及RESTful Path对应关系如下:
除此之外,项目还使用Maven建立项目依赖关系,pom.xml内容如下:
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
Java EE 7有两个Profile,一个是Full Platform Profile,另一个是Web Profile。
这里使用Full Platform Profile,将会从Maven repository中获取依赖的库文件。
JPA持久化配置文件:persistence.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="movieplex7PU" transaction-type="JTA">
<!--<jta-data-source>java:comp/DefaultDataSource</jta-data-source>-->
<properties>
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
<property name="javax.persistence.schema-generation.create-source" value="script"/>
<property name="javax.persistence.schema-generation.drop-source" value="script"/>
<property name="javax.persistence.schema-generation.create-script-source" value="META-INF/create.sql"/>
<property name="javax.persistence.schema-generation.drop-script-source" value="META-INF/drop.sql"/>
<property name="javax.persistence.sql-load-script-source" value="META-INF/load.sql"/>
<property name="eclipselink.logging.exceptions" value="false"/>
<!--<property name="eclipselink.logging.level" value="FINE"/>-->
</properties>
</persistence-unit>
</persistence>
虽然java:comp/DefaultDataSource被注释掉了,但Java EE 7规定应用服务器必须默认提供一个JNDI名为java:comp/DefaultDataSource的DataSource,因此即使注释了也没关系。
另外, JPA 2.1还提供了javax.persistence.schema-generation.*属性,用于创建数据库对象,比如tables、indexes和constraints。
项目中已经包含了这些数据库脚本,比如:create.sql、drop.sql和load.sql。
Project 下载:3. movieplex7(Walk-Through).7z
没有评论:
发表评论