为什么写这篇BLOG,是因为经常有同事或网友问起我hiberante实体类的生成问题。所以下次再有人问我可以省一堆的话了,其实这个真的是很简单。
        现在hibernate在项目中的应用是越来过广泛了。我是从hibernate开始支持注释语法后才开始研究它的。说实在的,原来的hibernate生成的一堆堆的XML文件看着就头晕,还不如自己写的SQL语句来的舒服,所以一直听朋友和同事介绍,可自己一直不屑用之。
        可是现在有福了hibernate是JPA最常用的实现之一,而且hiberante自身也对注释语法进行了支持。现在再不用去看那一堆堆的XML映射了。而且eclipse还提供了从数据库直接生成Entity Class的工具。既然可以少写或不写SQL语句那合乐而为为呢。废话少说,开始做起来。

还是从我们开始项目的第一步说起,新建项目。一般我们用java做web项目都是File->New->Dynamic Web Project,如下图:

然后会出现新建项目的对话框如图所示

然后点击Modify按钮后如图

将java persistence选中,这样就为项目增加了JPA的特性,其它特性根据项目需要自行修改。点击OK后。点击几次NEXT(忽略的几步根据自身情况而定)到JPA FACET窗口,如下图:

因为咱们用的是hibernate列表中没有所以platform选择Generic,Type选择disable library configuration,因为咱们把需要的jar文件直接放到WEB-INF下的lib目录中就可以了。所以不用配置。再下面的connection这个是必须要配置的要不我们怎么从数据库中生成啊。对不。
如果以前配置过连接直接选择就可以了,如果没有配置过点击 add connection.如下图:

选择要使用的数据库类型,然后下一步,如下图。其实这个类型也没啥作用只是个生成连接字符串的模版而以。

选择已有的驱动,如果没有怎么办,废话,当然是继续新增了。这块不详述了,点击driver后面第一个按钮,根据提示选择对应的jar文件即可。
做完上述操作点击Finish.回到JPA Facet窗口。选中Discover annotated classes automatically,把Create orm.xml钓掉。然后点Finish项目就建完了。
然后在项目文件夹上右键选择JPA tools->Generate Entities from Tables.后如下图:

选择建好的connection如果没有connect 就connect一下。就会如上图所示了(有时eclipse会有些小问题看不见表,可以重启一下试试,实在不行就直接建个JPA project ,生成实体后再拷到自己的项目中就可以了。)选中要生成实体的表,Next如下图:

上面是表之间的关系,如果可以做相应的修改(用的是ecipse 3.5貌似eclipse3.4还没这个功能,eclipse越来越强了),再Next后如下图:

(这个好像也是eclipse 3.5才加的)都能看明白吧。按照需要改改就可以了,这里不多啰嗦。再Next
后,如下图:

这是一些表的每个属性的调整,一般也不用调了。Finish就好了。
嘿嘿终于完成了。贴了这么多图,累死我了。不过为了大家能弄明白,还是图比文字更能说明情况,我辛苦点就辛苦点吧。。
看看源码中生成的java文件是不是你想要的,具体这些类怎么用。就不是这篇文章要说的问题了。如果大家有需要,我下回接着写。

eclipse中从数据库生成hibernate实体类的更多相关文章

  1. eclipse从数据库逆向生成Hibernate实体类

    做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO.意思是,在项目设计时,要么 ...

  2. [转]eclipse借助hibernate tool从数据库逆向生成Hibernate实体类

    如何从数据库逆向生成Hibernate实体类呢??? 1. 首先,要在eclipse中采用自带的数据库管理器(Data Management),连通你的数据库: 然后选择数据库,这里用的oracle, ...

  3. Eclipse从数据库逆向生成Hibernate实体类和映射文件(Eclipse插件系列之HibernateTools)

    ♣下载安装Eclipse插件(HibernateTools) ♣Eclipse连接数据库(Mysql5.7) ♣新建hibernate.properties和hibernate.cfg.xml文件 ♣ ...

  4. (转) Eclipse通过HibernateTools实现逆向生成Hibernate实体类

    背景:工作中使用Hibernate进行持久化的开发工作,所以有必要详细了解这方面的知识. ps:这里有个问题就是刷新表的时候速度太慢了.还不如自己手动去创建.如果表太多倒是可以采取批量生成的策略. 在 ...

  5. MyEclipse自动生成hibernate实体类和配置文件攻略

    步骤1:找到导航栏里面的window--showView然后输入db brower,打开数据库浏览窗口步骤2:在数据库浏览窗口里只有一个Myeclipse自带的数据库,该数据没有用,我们在空白的地方右 ...

  6. Intellij idea生成Hibernate实体类

    反向生成基于注解的Hibernate实体类 1. 为项目添加Hibernate支持 2. 在IDE右边找到database,然后按照步骤添加数据. 3. 保存后.在主面板左侧有persistence, ...

  7. 从postgres数据库逆向生成hibernate实体类

    最近整理 一个项目,原先的项目是用的oracle,然而新的项目要用postgresql.将oracle数据库导出之后,通过powerdesigner整理,导出postgresql的脚本,然后在post ...

  8. MyEclipse 从数据库反向生成Hibernate实体类

    第一个大步骤 window-->open Perspective-->MyEclipse Java Persistence 进行了上面的 操作后会出现一个视图DB Brower:MyEcl ...

  9. 使用Hibernate Tools从数据库逆向生成Hibernate实体类

    自动生成model.java.*.hbm.xml 甚至是dao.java.*.ddl.*.html等等.一般也就如下三种方式1. MyEclipse 自带插件2. jboss的 hibernate-t ...

随机推荐

  1. 无数据库模式kong/kong-ingress-controller

    apiVersion: v1kind: Namespacemetadata:  name: kong---apiVersion: apiextensions.k8s.io/v1beta1kind: C ...

  2. border-1px的实现(stylus)如何在移动端设置1px的border

    在这里我只介绍下边框的实现: 当样式像素一定时,因手机有320px,640px等.各自的缩放比差异,所以设备显示像素就会有1Npx,2Npx.为保设计稿还原度,解决就是用media + scale. ...

  3. 【 hibernate 】基本配置

    hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibe ...

  4. idea通过Ctrl+鼠标滚轮放大/缩小字体

  5. Spring Boot 2 实战:如何自定义 Servlet Filter

    1.前言 有些时候我们需要在 Spring Boot Servlet Web 应用中声明一些自定义的 Servlet Filter 来处理一些逻辑.比如简单的权限系统.请求头过滤.防止 XSS 攻击等 ...

  6. Write-up-Violator

    关于 下载地址:点我 Flag:/root/flag.txt 哔哩哔哩:视频 信息收集 网卡:虚拟机vmnet8 ➜ ~ ip addr show dev vmnet8 5: vmnet8: < ...

  7. 质因数分解(0)<P2012_1>

    质因数分解 (prime.cpp/c/pas) [问题描述] 已知正整数n是两个不同的质数的乘积,试求出较大的那个质数. [输入] 输入文件名为prime.in. 输入只有一行,包含一个正整数n. [ ...

  8. k8spod的介绍

    yaml介绍 apiVersion: v1 APIserver 的版本 kind: Pod 资源类型 metadata: 元数据定义 name: pod-demo 元数据资源名字 labels: 定义 ...

  9. ANSYS-MFC二次开发

    目录 1. 开发流程 2. 开发代码 1. 开发流程 ANSYS-MFC二次开发的思路其实是特别简单的,通常MFC主要是设计界面,然后从MFC界面中读取要设计的参数,然后根据这些设置了的参数生成APD ...

  10. 144、Java链表之定义一个Node类并输出

    01.代码如下: package TIANPAN; class Node { // 每一个链表实际上就是由多个节点组成的 private String data; // 要保存的数据 private ...