zoukankan      html  css  js  c++  java
  • eclipse利用JPA,根据数据库表生成Java中的实体类

    上一篇讲到利用hibernate插件根据数据库表格生成Java bean ,今天发现利用JPA也可以生成Java bean 特此记录一下。

    本文摘抄自http://www.cnblogs.com/crawl/p/7703679.html ; http://www.cnblogs.com/crawl/p/7703803.html 

    1、首先,如果之前没新建过JPA工程,新建的过程:New ---> Project ---> JPA Project  输入工程名,选择版本为 2.0,点击 Next之后会报错:

    之前新建过JPA工程,直接看步骤2.

    解决方案:

    从 https://www.eclipse.org/eclipselink/downloads/ 处下载 EclipseLink 2.5.2 Installer Zip (38 MB) 资源,下载解压到某个目录下,简称A目录;

    创建一个动态的 WEB 工程,或者选择一个已经存在的WEB工程,选中此工程点击右键,选择 properties,在左侧那一列中点击 “Project Facets”,然后在右侧选中 JPA 选项,同时选择 JPA version 为2.0;

    继续点击下方的 “ Further configuration required...” 链接,将会打开一个新的对话框用于配置JPA Facet;

    选择 platform 为 EclipseLink 2.4.x/2.5.x 版本,点击右侧的“Manager Libraries”(是一个按钮),弹出一个对话框,在新的对话框中点击“New”,然后又会弹出一个对话框,要我们填写库的名字,填写为“ EclipseLink 2.5.2 ”,点击OK;

    点击“Add External JARs...”,添加 eclipselink.jar,在刚刚的A目录下面;

    继续添加Aeclipselinkjlibjpa 文件夹下 javax.persistence.* 的两个 jar 包, 点击 Apply And Colse

    选中刚刚生成的 library,点击下端的 OK按钮,关闭添加 library 的对话框 Apply And Colse,至此问题解决。

    2、在 Eclipse 中创建 JPA 的工程:New ---> Project ---> JPA Project  输入工程名,选择版本为 2.0,点击 Next

    3.在当前工程下新建一个 lib 目录,用来存放各种 jar 包,此时工程的目录结构为:

    导入 hibernate 的 jar 包和 jpa 的jar包,注意:需要自己手动的 Build Path:

    没用到jboss,可以不用导这个,导入后记得build path

    4. 大家会发现当我们创建好 jpa 的工程时在 src 的 META-INF 目录下自动生成了一个 persistence.xml 文件,我们的配置都编写在此文件中,接下来就在此文件中进行各种配置

    1)打开此文件,选择左下角的 Connection 选项,修改 Transaction Type 为 Resource Local,填写下方的 Driver、Url、User、Password 信息保存后,便会在左下角最后一个 Source 选项中自动生成数据库配置的基本信息 

     2)其他配置(大家注意一点配置 ORM 产品时,要把 <provider> 节点放到 <properties> 节点上面,否则会出小红×):

    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.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_2_0.xsd">
        <persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL">
    
            <!-- 使用什么 ORM 产品作为 JPA 的实现 -->
            <provider>org.hibernate.ejb.HibernatePersistence</provider>
    
            <properties>
                <!-- 数据库连接的基本信息 -->
                <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
                <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpa2" />
                <property name="javax.persistence.jdbc.user" value="root" />
                <property name="javax.persistence.jdbc.password" value="qiqingqing" />
                <!-- 配置 JPA 实现产品的基本属性,即 Hibernate 的基本属性 -->
                <property name="hibernate.show_sql" value="true" />
                <property name="hibernate.format_sql" value="true" />
                <property name="hibernate.hbm2ddl.auto" value="update" />
            </properties>
    
        </persistence-unit>
    </persistence>

    至此,jpa工程就建好了,开始办正事啦

    右键工程--->JPA TOOLS-->generator entities from tables

    connection里面是你之前连接好的数据,在eclipse中如何配置自己的数据库连接,请参考上一篇博客文章:https://www.cnblogs.com/seven717/p/10656520.html第一步就是讲的这个

    接下来选择你要生成实体类的表,然后点击NEXT,根据你自己的实际情况,选择,主键生成策略啊,代码生成位置啊这些,最后finish,就会在自己选择的位置中看到Javabean了。

  • 相关阅读:
    设计模式单例模式的实现方式
    Springboot,SSM框架比较,区别
    多线程系列之自己实现一个 lock 锁
    springBoot 自动配置原理自己新建一个 starter
    Hashmap 实现方式 jdk1.7 和 1.8区别
    给WPF中的DataGrid控件添加右键菜单(ContextMenu),以便用户可以显示或者隐藏DataGrid中的列,并且下次运行时依然保持上次关闭时的列的布局
    WPF XAML页面 无智能感知
    【读书笔记】排列研究排列中的代数组合学
    使用Mathematica做序列的DTFT的几个例子
    BGF bivariate generating function 双变量生成函数
  • 原文地址:https://www.cnblogs.com/seven717/p/10691264.html
Copyright © 2011-2022 走看看