You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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,修改数据库信息:
    # 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密码
    
    记得提前在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打印执行的原始SQL
  • format_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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:51:26