Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法生成hibernate.reveng.xml,因为hibernate.connection.url是动态的_Java_Hibernate_Hibernate Tools - Fatal编程技术网

Java 无法生成hibernate.reveng.xml,因为hibernate.connection.url是动态的

Java 无法生成hibernate.reveng.xml,因为hibernate.connection.url是动态的,java,hibernate,hibernate-tools,Java,Hibernate,Hibernate Tools,我想生成一个hibernate.reveng.xml,但是hibernate.cfg.xml中的“hibernate.connection.URL”是一个变量 jdbc:jtds:sqlserver://${database.server.name}:1433/XXX_DB 因此,我的问题是如何让休眠工具知道变量是在哪里定义的?您可以在ant任务中指定.properties文件的路径(该文件将包含此内容): 然后,在ant任务中: <hibernatetool ...> &

我想生成一个hibernate.reveng.xml,但是hibernate.cfg.xml中的“hibernate.connection.URL”是一个变量

jdbc:jtds:sqlserver://${database.server.name}:1433/XXX_DB

因此,我的问题是如何让休眠工具知道变量是在哪里定义的?

您可以在ant任务中指定.properties文件的路径(该文件将包含此内容):

然后,在ant任务中:

<hibernatetool ...>

   <jdbcconfiguration configurationfile="pathTo/your.cfg.cml"
                      propertyfile="pathTo/your.file.properties"/>

希望有帮助,
迭戈

您似乎期望数据库连接URl中的IP地址发生动态变化,并希望在运行时建立数据库连接

  • 如果是这样,您需要在中创建一个新的hibernate配置实例 这个项目

  • 在属性文件中更改计算机名称并重新启动服务器
通常,DB机器名应该在构建项目之前确定。
这些机器详细信息应该作为一个输入传递到构建过程中,它将相应地构造您的DB URL(您可以使用Spring表达式语言来实现这一点)。

为什么您需要定义这个
jdbc:jtds:sqlserver://${database.server.name}:1433/XXX_DB
作为变量?@Lion我有两个不同的DB服务器,一个用于测试,另一个是实时系统。hibernate.cfg.xml的属性文件(包括多个db server infos)在intellij下工作得很好,但自从我切换回eclipse之后就没有了。也许你对这个案例有更好的想法?我之前认为你必须有两个不同的DB服务器。解决方案可能很简单,但对我来说也是一种好奇。让我们等待别人的答复。谢谢。我不完全理解您的问题,但如果您想在hibernate.cfg.xml文件中动态传递值,那么您可以这样做。您需要创建配置的对象。类似配置c=新配置();c、 configure();有关更多信息,请单击下面的链接。我不知道你是不是真的在找这个。。但是只要检查一下就可以了。
<hibernatetool ...>

   <jdbcconfiguration configurationfile="pathTo/your.cfg.cml"
                      propertyfile="pathTo/your.file.properties"/>