【发布时间】:2021-09-29 01:48:30
【问题描述】:
我在我的应用程序中使用 Spring、Hibernate 4.3 和 MySql-8。我使用连接到 VPN 来运行应用程序。但是在休眠配置文件中当我给出一些'特殊字符' 它没有考虑到密码属性并显示错误。在 VPN 中连接 MySQL 数据库需要相同的密码。
下面是hibernate-cfg.xml文件的截图:
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://10.23.46.78:3306/fktpr</property>
<property name="connection.username">fktpr</property>
<property name="connection.password">^&gPLFNvuk?3Xd^YDj</property>
<property name="dialect">org.hibernate.dialect.MySQL8Dialect</property>
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
<property name="show_sql">false</property>
在上面的快照中,密码行显示错误:
对实体“gPLFNvuk”的引用必须以“;”结尾分隔符。
上面的字符串是部分数据库密码 ^&amp;gPLFNvuk?3Xd^YDj 字符串被错误提及,它切断了特殊字符&、? 和^。我该如何解决这个问题?在 VPN 中连接数据库时需要完整的密码。
【问题讨论】:
-
没有人对此有任何 cmets/ 答案?? :( 有没有其他方法来设置属性,比如使用 property file 或其他东西,这样它就不会引发任何错误?或任何 转义字符 来处理这种类型场景??
-
在密码字符串中,你可以试试HTML编码吗,比如
^&amp;gPLFNvuk?3Xd^YDj会变成-^&amp;gPLFNvuk?3Xd^YDj