MyEclipse教程:JPA开发(数据库)

1、配置JPA项目

JPA是类似于Hibernate的持久性规范,已成为Java EE 5规范的一部分。JPA使用Java 5注释来控制将普通Java类(POJO)映射到数据库表。

您可以通过创建任意受支持的基础项目类型(例如Java或Web项目)来创建启用JPA的项目,然后从MyEclipse菜单中将JPA构面添加到该项目中。右键单击该项目即可添加JPA构面,然后从菜单中选择MyEclipse > Project Facets > Install JPA Facet。同时,还可以通过打开项目的“Project Facets”属性,同时向项目添加多个构面。

facets_properties.png

提供持久性

MyEclipse为OpenJPA、Hibernate和EclipseLink JPA提供程序提供支持。

1573185235.gif

数据库配置

将项目与数据库和架构相关联,为设计时工具提供支持。如下图所示,项目与本地MyEclipse Derby数据库的数据库驱动程序关联。

1573185365.gif

除了可以依赖MyEclipse附带的库,还可以单击下载图标1573185369.png添加要包含在项目中的用户库。

1573185486.png

同时,您还可以右键单击该项目从菜单中选择“Properties”,展开MyEclipse > Project Facets,然后选择Java Persistence,打开Java Persistence properties页面随时更改JPA项目的数据库驱动程序关联。

1573185583.gif

2、从数据库反向工程实体和DAO

右键单击一个JPA项目,然后从菜单中选择“Generate Entities & DAOs”。您可以选择使用MyEclipse逆向工程工具或DALI实体生成器进行选择,将启动相应的JPA逆向工程向导。

1573186327.gif

右键单击DB Browser视图中的表生成实体。

1573186373.gif

逆向工程过程是完全可定制的。使用JPA逆向工程向导,可以选择要生成的工件以及该工件所基于的数据库表。

1573186438.gif

MyEclipse还可以生成具有结果分页支持的DAO findBy<property>查询。生成的结果分页API为DAO客户端提供了细粒度的程序控制,可定位到结果集的特定行号并获取n个实体。

以下是逆向工程处理器生成的代码的几个样本片段:

1573186539.gif

3、高级实体编辑工具

MyEclipse Java持久性透视图

MyEclipse Java Persistence透视图为面向jpa的任务提供了最佳的编辑器和视图布局。

jpa-persistence-perspective-clipped.jpg

JPA Details视图

通过“JPA Details”视图,可以轻松编辑实体注释。

1573186677.gif

JPA Diagram编辑器

JPA Diagram编辑器使您可以轻松创建新实体或在现有JPA项目中编辑实体。

jpa_jpadiagram.png

JPA Annotation Table和Column Content Assist

1573189383.gif

1573189449.gif

JPA Entity Validation

可检测到映射中的错误并在编辑器和“Problems”视图中显示。

1573189488.gif

1573189548.gif

可以在项目级别启用或禁用JPA Entity Validator。

1573189646.gif

4、高级Spring-JPA集成

Spring 2支持

将JPA构面添加到已经具有Spring构面的项目时,您可以选择高级Spring-JPA支持(反之亦然)。这种级别的支持使JPA工具可以与项目的Spring工件一起使用。下图显示了Spring-JPA项目配置向导。

jpa-spring-addcaps.jpg

选择Spring-JPA支持,主要bean配置文件,并自定义bean id和事务支持。

1573189773.gif

逆向工程实体和数据库中的Spring DAO

对于配置为支持高级Spring-JPA功能的项目,除了从数据库架构生成实体类之外,还可以生成与Spring兼容的DAO。在逆向工程过程中,将使用每个DOA类的生成的bean条目更新Spring应用程序上下文文件。

生成Spring DAO:

1573189806.gif

生成的Spring应用程序上下文文件:

1573189888.gif

生成的Spring DAO扩展自Spring的JpaDaoSupport:

jpa-spring-dao.gif

猜你喜欢

转载自blog.51cto.com/14452385/2450162
今日推荐