如何在OpenUnderwriter项目中开启Hibernate SQL查询调试
嘿,我之前折腾过不少Liferay+Hibernate的项目,给你一步步梳理怎么把OpenUnderwriter部署到Eclipse,还能搞定Hibernate SQL的调试:
第一步:在Eclipse中部署OpenUnderwriter项目
- 先确认你的Eclipse装了Liferay开发工具(比如Liferay IDE或者Liferay Developer Studio),没装的话直接去Eclipse Marketplace搜「Liferay」就能找到安装。
- 导入项目:点击
File > Import > Existing Projects into Workspace,选中你下载的OpenUnderwriter源码文件夹,建议勾选Copy projects into workspace(方便后续修改调试)。 - 配置Liferay服务器:在Eclipse的Servers视图里,添加对应版本的Liferay服务器(必须和项目依赖的Liferay版本匹配),配置好服务器安装路径和JDK。
- 配置MySQL数据库连接:
找到项目里的portal-ext.properties(没有就新建一个放在src/main/resources下),或者单独的Hibernate配置文件hibernate.cfg.xml,修改数据库信息:
记得提前在MySQL里创建好# portal-ext.properties里的配置 jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver jdbc.default.url=jdbc:mysql://localhost:3306/openunderwriter?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC jdbc.default.username=你的MySQL用户名 jdbc.default.password=你的MySQL密码openunderwriter数据库,字符集设为UTF-8。 - 部署启动:右键项目,选择
Run As > Liferay Server,等服务器启动完成,项目就部署好了。
第二步:开启Hibernate SQL日志调试
Liferay里Hibernate的日志配置有两种常用方式,选一种就行:
方式一:通过Liferay属性配置
在portal-ext.properties里添加以下配置:
hibernate.show_sql=true hibernate.format_sql=true hibernate.use_sql_comments=true
show_sql:强制Hibernate打印执行的原始SQLformat_sql:格式化SQL语句,让输出更易读use_sql_comments:添加注释,标注这条SQL对应哪个实体类的操作(比如insert com.openunderwriter.model.Policy)
方式二:通过Hibernate配置文件修改
如果项目里有独立的hibernate.cfg.xml,在<session-factory>标签内加入:
<property name="show_sql">true</property> <property name="format_sql">true</property> <property name="use_sql_comments">true</property>
小技巧:过滤Eclipse控制台日志
Liferay启动后日志会很多,容易把Hibernate的SQL淹没。你可以在Console视图右上角的下拉菜单里选「Filters」,添加一个过滤器,只显示包含Hibernate:的日志,这样就能专注看SQL了。
第三步:验证调试效果
启动Liferay服务器,登录OpenUnderwriter应用,执行任意CRUD操作(比如创建一条保单记录)。回到Eclipse控制台,就能看到类似这样的格式化SQL:
Hibernate:
/* insert com.openunderwriter.model.Policy
*/ insert
into
Policy
(policyNumber, amount, createDate, userId)
values
(?, ?, ?, ?)
这样你就能清晰看到Hibernate发送给MySQL的每一条SQL,方便调试和优化。
内容的提问来源于stack exchange,提问作者Muhammad Adeel Zahid
相关产品推荐
相关产品推荐

