Hibernate日志记录中的HHH000179警告 - 5.2.10

时间:2017-11-15 09:47:11

标签: hibernate

" https://forum.hibernate.org/viewtopic.php?p=2404391"的cotext - 我添加了" org.hibernate.engine.internal.StatefulPersistenceContext" log4j.properties中的ERROR以及#34; org.hibernate.engine.internal"错误。

然而HHH000179警告仍未被抑制。我的hibernate版本是5.2.10。我试图从这个版本检查StatefulPersistenceContext的代码,并有以下代码:

if(!alreadyNarrow){             LOG.narrowingProxy(concreteProxyClass);

除非这里代码添加了检查以检查是否启用了日志记录级别WARN,否则即使提到此类的ERROR级别,如何抑制它?

对于跟踪级别,同一文件中的代码为:

final boolean tracing = LOG.isTraceEnabled();
    if ( tracing ) {
        LOG.trace( "Serializing persistent-context" );
    }

我认为类似的逻辑应该用于WARN以抑制' HHH000179'

如果已经解决这个问题,或者有任何其他方法可以抑制此警告,那我真的很有意思吗?

2 个答案:

答案 0 :(得分:1)

请阅读下面提供的信息,以解释记录HHH000179-narrowing-proxy-to-class-警告的情况。

https://marcin-chwedczuk.github.io/HHH000179-narrowing-proxy-to-class-this-operation-breaks-equality

答案 1 :(得分:0)

尝试log4j.logger.org.hibernate.engine.internal.StatefulPersistenceContext=ERROR

对于logstash,我使用了

<logger name="org.hibernate.engine.internal.StatefulPersistenceContext" level="ERROR"/>

对我有用。

UPD:我同意以下答案,请先阅读that article。但是,如果您使用相等行为是安全的(没有集合,或者将实体与getId而不是equals进行比较,或者如果您不安全但可以通过适当的相等来保护自己,则可以关闭这条令人讨厌的消息-那么您可以隐藏此消息,因为覆盖等于不会为您隐藏它。