将JDBC URL从Maven传递到hibernate.cfg.xml

时间:2010-03-08 14:37:15

标签: xml hibernate maven-2 orm

我有一个hibernate.cfg.xml,配置了JDBC Url:

<property name="hibernate.connection.url">jdbc:mysql://${server.hostname}:3306/dsm?zeroDateTimeBehavior=convertToNull&amp;jdbcCompliantTruncation=true&amp;autoReconnect=true</property>

那些&amp;是必需的(而不仅仅是&amp;)以避免异常:对实体“jdbcCompliantTruncation”的引用必须以';'结尾分隔符。

为了能够通过Maven选择不同的目标数据库,我想将其更改为:

<property name="hibernate.connection.url">${jdbc.url}</property>

其中$ {jdbc.url}是Maven中定义的属性。然而问题是,Maven似乎转换了所有&amp;到&amp;,然后导致Hibernate抛出上述异常。

任何人都有解决方法吗?

1 个答案:

答案 0 :(得分:7)

您是否尝试在CDATA部分内声明它?

<properties>
  <jdbc.url><![CDATA[jdbc:mysql://${server.hostname}:3306/dsm?zeroDateTimeBehavior=convertToNull&amp;jdbcCompliantTruncation=true&amp;autoReconnect=true]]></jdbc.url>
</properties>