频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Java持久化API(JPA)开发中如何使用实体

来源: 作者:IT168 胡磊 出处:巧巧读书 2007-11-11 进入讨论组
上一页 1 2 3 4 5 

五、持久化单元
你应用程序的实体集称为持久化单元。你可以在名为 persistence.xml的文件中配置定义你应用程序的持久化单元。这个文件存在于你的 META-INF目录下。你可以将 META-INF 子目录放在你的项目源文件下。本文事例的持续项目,你可以下载,你就会发现源文件的目录结构和图2很相似:

Java持久化API(JPA)开发中如何使用实体(图二)



图二:源文件目录结构

persistence.xml有许多的功能,但是在开发桌面应用程序的时候,大多数重要的任务是列出你应用程序中所有的实体和对持久化单元命名。列出持久化实体类需要在可移植的 Java SE环境。为本文的实体所写的简单的 persistence.xml会是这样的:

<?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" 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"> <persistence-unit name="league" transaction-type="RESOURCE_LOCAL"> <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider> <class>com.sun.demo.jpa.Player</class> <class>com.sun.demo.jpa.Team</class> <properties> <property name="toplink.jdbc.user" value="league"/> <property name="toplink.jdbc.password" value="league"/> <property name="toplink.jdbc.url" value="jdbc:derby://localhost:1527/league"/> <property name="toplink.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/> <property name="toplink.ddl-generation" value="create-tables"/> </properties> </persistence-unit> </persistence>
这个文件只是一个大致的模板,像 NetBeans IDE 5.5这样的工具会给你创建一个正确的框架。本位用到的最为重要的标签如下:

1.  persistence-unit
2.  provider
3.  class
4.  property

持续单元的名称可以是任何你所选择的名称。名称并不一定需要是你数据库的名称或者模型的名称,但是取一致的名称很有帮助的。在这个例子中,持久化单元的名称是 league。当你在 Java SE应用程序中使用此API时,缺省的事务类型是 RESOURCE-LOCAL。 在 Java EE的环境下,你将会看到 JTA事务类型,我的意思就是说实体管理器参与到事务处理之中。如果你不指定类型的话,就会使用缺省的设置,这将很容易使你的应用程序环境发生错误,从一个环境变到了另一个环境。
Provider标签声明了类文件,这个类文件提供初始的 factory方法,来创建一个 EntityManager实例。你的持久化API 实现程序将会提供一些详情,使你获得此标签的正确值。 persistence.xml文件例子展示了 provider类名。
使用 class标签列出你应用程序中的实体类的名称。在本文的举例代码中,就只用到两个实体: com.sun.demo.jpa.Player 和 com.sun.demo.jpa.Team. 完整的包名和类名是必须的。持久化方案提供工具 (persistence provider)通过查阅 persistence.xml 文件中的实体名称,就是确定将应用程序的哪些类映射到关系数据库中去 。
最后,在 Java SE桌面环境,如果Java 命名目录接口( JNDI)查找不能用的话,你应该将数据库的连接信息写到 persistence.xml文件中去。数据库连接属性包括数据库连接的用户名和密码,数据库连接字符串,驱动名称。另外甚至包括在持久化方案提供工具 (persistence provider)属性选项上创建或者撤销新表。属性名称 javax.persistence是保留的属性标签,是规范所定义的,不可改动的。提供商使用他们自己的命名空间,以免和规范发生冲突。先前展示的 persistence.xml 文件中,使用的是 GlassFish实现。它的提供商所制定的属性在 toplink命名空间中,它不是规范本省的一部分。持久化方案提供工具 (persistence provider)将会忽略不在规范里面的所有属性或者不是自己指定供应商的属性。
请保留地址 http://www.qqread.com/java/2007/11/w381044.html 更多文章 更多内容请看Java环境安装配置Java编程开发手册Wlan组网----家庭专题专题,或进入讨论组讨论。
上一页 1 2 3 4 5 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章