【问题标题】:Hibernate cfg file is not considering special characters in 'password' propertyHibernate cfg 文件不考虑“密码”属性中的特殊字符
【发布时间】:2021-09-29 01:48:30
【问题描述】:

我在我的应用程序中使用 Spring、Hibernate 4.3MySql-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;amp;gPLFNvuk?3Xd^YDj 字符串被错误提及,它切断了特殊字符&amp;?^。我该如何解决这个问题?在 VPN 中连接数据库时需要完整的密码。

【问题讨论】:

  • 没有人对此有任何 cmets/ 答案?? :( 有没有其他方法来设置属性,比如使用 property file 或其他东西,这样它就不会引发任何错误?或任何 转义字符 来处理这种类型场景??
  • 在密码字符串中,你可以试试HTML编码吗,比如^&amp;amp;gPLFNvuk?3Xd^YDj会变成-^&amp;amp;gPLFNvuk?3Xd^YDj

标签: hibernate mysql-8.0


【解决方案1】:

尝试转义 xml 中的特殊字符 -

& --> &amp;

< --> &lt;

> --> &gt;

^&amp;amp;gPLFNvuk?3Xd^YDj 会变成 - ^&amp;amp;gPLFNvuk?3Xd^YDj

【讨论】:

    猜你喜欢
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 2020-10-14
    • 2015-08-02
    • 1970-01-01
    相关资源
    最近更新 更多