Java H2数据库模式创建检查

Java H2数据库模式创建检查,java,hibernate,spring,h2,Java,Hibernate,Spring,H2,我使用Hibernate和Spring为我的测试用例动态生成了H2数据库。 我有一些奇怪的错误,我想知道模式在H2中到底是什么样子的。表是如何定义的,列是如何定义的。 如何在运行时生成此报告?您可以运行SQL语句脚本NODATA 要查看针对数据库运行的SQL语句,请附加;跟踪\u LEVEL\u FILE=2到数据库URL。这将把所有SQL语句写入.trace.db文件。如果架构是由Hibernate使用Hibernate.hbm2ddl.auto=true部署的,则可以为org.Hiberna

我使用Hibernate和Spring为我的测试用例动态生成了H2数据库。 我有一些奇怪的错误,我想知道模式在H2中到底是什么样子的。表是如何定义的,列是如何定义的。
如何在运行时生成此报告?

您可以运行SQL语句
脚本NODATA


要查看针对数据库运行的SQL语句,请附加
;跟踪\u LEVEL\u FILE=2
到数据库URL。这将把所有SQL语句写入
.trace.db
文件。

如果架构是由Hibernate使用Hibernate.hbm2ddl.auto=true部署的,则可以为org.Hibernate.tool.hbm2ddl打开跟踪日志记录。这将显示在创建模式时Hibernate正在生成的DDL。

如果您想知道动态生成的模式是什么。简单地加上

<prop key="hibernate.show_sql">true</prop>    
true

有了它,您就可以调试了。

如果您需要细粒度,您应该查找持久性表和列注释。您可以指定和控制事物的名称。有时Hibernate在双向收集方面有问题(…无法获取多个包…如果您来自Eclipselink或Toplink,并且您有复杂的关系,这是一个常见的消息)它工作得很好,但实际上我使用它就像“脚本NODATA TO'create.sql'”,这样我就确切地知道它保存到哪里。