对实体“useLegacyDatetimecode”的引用必须以';'结尾分隔符

时间:2016-06-02 15:29:10

标签: spring

这是 nothing 正常工作的那一天。

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/mz_db?useSSL=false&useLegacyDatetimecode=false" />
    <property name="username" value="root" />
    <property name="password" value="" />
</bean>

以上给我这个错误信息:

  

对实体“useLegacyDatetimecode”的引用必须以';'结尾分隔符。

但问题是它错了:

jdbc:mysql://[host1][:port1][,[host2][:port2]]...[/[database]] »
[?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]

解释here

Caused by: org.xml.sax.SAXParseException; lineNumber: 32; columnNumber: 105; The reference to entity "useLegacyDatetimecode" must end with the ';' delimiter.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)

那么这是怎么回事?

2 个答案:

答案 0 :(得分:14)

this相似。要在&url中嵌入&符号,需要将其编码为&amp;

<property name="url" value="jdbc:mysql://localhost:3306/mz_db?useSSL=false&amp;useLegacyDatetimecode=false" />

答案 1 :(得分:0)

由于编码风格而导致的一个小错误。它对我来说适用于最新版本的Hibernate 5.4.12。

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/schema_name?verifyServerCertificate=false&useSSL;</property>