在“https://forum.hibernate.org/viewtopic.php?p=2404391“的上下文中-我已经在log4j.properties中将“org.hibernate.engine.internal.StatefulPersistenceContext”添加到ERROR中,并尝试将“org.hibernate.engine.internal”添加到ERROR中。
然而HHH 000179警告仍然没有被抑制。我的hibernate版本是5.2.10。我试图检查这个版本的StatefulPersistenceContext的代码,有以下代码:
if(!alreadyNarrow){}.narrowingProxy(concreteProxyClass);
除非在这里代码添加了检查日志级别WARN是否被启用,否则即使为这个类提到ERROR级别,如何抑制它?
对于跟踪级别,在同一文件中有代码:
final boolean tracing = LOG.isTraceEnabled();
if ( tracing ) {
LOG.trace( "Serializing persistent-context" );
}
字符串
我认为WARN应该有类似的逻辑来抑制'HHH 000179'
我是cusrious如果这已经被解决或任何其他方式来抑制这个警告?
2条答案
按热度按时间wd2eg0qa1#
试试
log4j.logger.org.hibernate.engine.internal.StatefulPersistenceContext=ERROR
。对于我使用的logstash
<logger name="org.hibernate.engine.internal.StatefulPersistenceContext" level="ERROR"/>
个对我很有效。
UPD:我同意下面的答案,首先阅读that article。但是如果你使用equals行为是安全的(没有集合,或者用
getId
而不是equals
来比较实体),或者如果你不安全,但是用适当的equals来保护自己,你可能想关闭这个烦人的消息-那么你可以隐藏这个消息,因为覆盖equals不会为你隐藏它。8hhllhi22#
请阅读此blog post中提供的信息,其中解释了记录
HHH000179 Narrowing proxy to class this operation breaks ==
警告的情况。