在Intellij IDEA下通过Hibernate逆向生成实体类

时间:2023-01-04 09:07:44

前言:在IDEA中,通过相关插件,可以利用Hibernate逆向生成数据表对应的实体类。具体操作及注意事项见本篇随笔。


1.创建一个基于maven的hibernate工程。并在工程中添夹hibernate核心配置文件hibernate.cfg.xml,其工程结构如下图所示。

在Intellij IDEA下通过Hibernate逆向生成实体类

其中,hibernate.cfg.xml的配置如下:

 <?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory> <!-- 主要三部分配置-->
<!-- 1.配置数据库信息,必须的-->
<property name="connection.url">jdbc:mysql://localhost:3306/hibernatestudy?useUnicode=true&amp;characterEncoding=UTF-8</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">root</property>
<property name="connection.password"></property> <!-- 2.配置hibernate信息,可选的--> <!-- 输出底层的sql语句-->
<property name="hibernate.show_sql">true</property> <!-- 对底层sql进行格式化-->
<property name="hibernate.format_sql">true</property> <!--配置数据的方言,如mysql中limit
oracle的rownum-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.current_session_context_class">thread</property> <!-- 3.把映射文件配置到核心文件中,必须的--> </session-factory>
</hibernate-configuration>

注意:该配置文件中对数据库的相关信息进行能配置,在后续逆向生成实体类的时候,又会生成数据库信息,所以建议在使用插件生成实体类时,将数据库配置信息注释,实体类生成完后,在将其打开。

2.在IDEA中添加数据源,具体操作如下。

1)从ViewTool Windows→DataBase

在Intellij IDEA下通过Hibernate逆向生成实体类

2)在DataBase窗口中,进行如下操作。

在Intellij IDEA下通过Hibernate逆向生成实体类

注:笔者这里选择MySQL数据库,也可根据具体情况,选择相应数据库。

3)对数据相关信息进行配置。

在Intellij IDEA下通过Hibernate逆向生成实体类

注:注意图中红框的内容。

配置成功后,点击测试弹出如下对话框。

在Intellij IDEA下通过Hibernate逆向生成实体类

4)打开Persistence选项:View→Tool Windows→Persistence

在Intellij IDEA下通过Hibernate逆向生成实体类

5)在hibernateGen上右键,进行如下操作。

在Intellij IDEA下通过Hibernate逆向生成实体类

6)在弹出的对话框中进行如下操作即可。

在Intellij IDEA下通过Hibernate逆向生成实体类

7)最后生成的实体类与对应xml文件如下图。

在Intellij IDEA下通过Hibernate逆向生成实体类

至此,在IDEA下,通过Hibernate逆向生成实体类操作完成。


by Shawn Chen,2018.3.16日,凌晨。