admin

从Hibernate生成SQL脚本

sql

我在Java Swing应用程序中使用的是Hibernate4.3.5-Final,并且我做了很多事情UDPATEINSERT并且DELETE使用了它(在HQL或中Criteria)。

现在,我想做的是导出对数据库进行的所有修改的SQL脚本,但是我不知道该怎么做。该脚本只需要包含修改(而不是表的创建)并将它们放在.sql文件上(导出的文件路径将由用户选择)

您有什么想法可以解决我的问题吗?

先感谢您 !

[编辑]:一些论坛谈论p6spy,它可以回答我的问题吗?


阅读 177

收藏
2021-07-01

共1个答案

admin

p6spy 应该在这里有所帮助。

通常,以下应为您完成此工作:

  1. p6spy在您的应用中启用(请参阅官方文档:http : //p6spy.github.io/p6spy/

之后,您基本上有2个选择:

  1. 使用提供的:BatchFileLogger,通过:appender=com.p6spy.engine.spy.appender.BatchFileLogger中启用spy.properties

或者

  1. 实现custom com.p6spy.engine.spy.appender.MessageFormattingStrategy,它将仅返回sql,并spy.properties通过以下方式对其进行配置:logMessageFormat=FooFormat
  2. 设置sqlexpression为匹配您需要的查询-进行限制CREATE/ALTER/... TABLE/SEQUENCE/...
2021-07-01