【发布时间】:2011-06-21 17:43:55
【问题描述】:
我在 Google 上没有找到任何相关信息,但我认为这一定是可能的。
我的 Hibernate 项目遇到了一个严重的问题:
我有两个模块,一个主模块和一个工具模块。它们应该使用相同的 DB(嵌入式 Derby,因为两个模块不会同时启动)。
因此,如果我启动一个模块,它会在 Java 项目目录中创建数据库,但我不希望数据库在项目目录“上方”创建一个级别。 hibernate.cfg.xml、映射文件和DAO位于Main-Module中。
所以我希望它看起来像这样:
`rootDirecotry
|
+----myEmbeddedDerby
|
+----MainModule
|
+----ToolModule
但实际上看起来是这样的:
`rootDirecotry
|
+----MainModule
| |
| +----myEmbeddedDerby
|
|
+----ToolModule
| |
| +----myEmbeddedDerby
这是我的休眠配置文件的相关部分:
<property name="hibernate.connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
<property name="hibernate.connection.password">password/property>
<property name="hibernate.connection.url">jdbc:derby:myEmbeddedDB;create=true</property>
<property name="hibernate.connection.username">admin</property>
<property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
感谢您的帮助。
【问题讨论】:
-
还值得了解的是 derby.system.home - 您可以使用此系统属性来设置基本路径。然后 URL 可以只包含数据库名称