2012-07-19 90 views
4

这是hibernate的一个未记录部分,但是如果在类路径的根目录中存在一个名为import.sql的文件('/import.sql') Hibernate将在创建后执行从文件读取的SQL语句数据库模式。我想知道是否有办法在休眠时关闭它。显而易见的答案是从import.sql更改名称,但我想知道是否有另一种方法。也许通过hibernate属性?在休眠状态下关闭import.sql

回答

3

您可以尝试将hibernate.hbm2ddl.import_files属性设置为空字符串。

正如你可以在SchemaExport源代码看,试图加载由属性所指定的文件,并返回DEFAULT_IMPORT_FILE如果配置不包含一个值:

this.importFiles = ConfigurationHelper.getString(
      AvailableSettings.HBM2DDL_IMPORT_FILES, 
      configuration.getProperties(), 
      DEFAULT_IMPORT_FILE 
    ); 

M.

+0

都能跟得上D:如果我可能问,你从哪里得到这些信息? – nook 2012-07-19 21:51:07

+1

我的计算机上有Hibernate源代码。你可以在Internet上找到它,例如ConfigurationHelper:http://grepcode.com/file/repository.jboss.org/nexus/content/repositories/releases/org.hibernate/hibernate-core/4.0.0.Alpha2/ org/hibernate/internal/util/config/ConfigurationHelper.java#ConfigurationHelper.getString%28java.lang.String%2Cjava.util.Map%29。其余部分来自hibernate-core/src/main/java/org.hibernate.tool.hbm2ddl。*软件包HIH – poussma 2012-07-20 06:44:51

+0

我做了一些更多的研究,它说这个特性自3.6版本开始提供。所以当我说它不应该这样做时,我可能会抢先一步。我会更新我的hibernate版本,如果有帮助,我会接受。谢谢你的帮助! – nook 2012-07-20 19:16:51