3 回答

TA贡献1856条经验 获得超11个赞
在映射中,我替换为:
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "classpath://org/hibernate/hibernate-mapping-3.0.dtd">
在配置中,我替换为:
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "classpath://org/hibernate/hibernate-configuration-3.0.dtd">
http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd是个好网址,但从昨天开始就非常不稳定了:'(
“重定向 301”到https://hibernate.org似乎导致了这个问题。在 xml 中直接使用 https 也不行。
小心,旧的 tomcat(6 或更早版本)不识别协议“classpath://”。

TA贡献1797条经验 获得超4个赞
DTD 文件位于两个 HTTP 重定向 (301) 之后,读取 XML 并使用 DTD 验证的 Java InputStream 不能很好地处理它。将 DTD 替换为:
https://hibernate.org/dtd/hibernate-configuration-3.0.dtd
所以这是一个直接链接到它

TA贡献1828条经验 获得超4个赞
我找到了解决方案。因为我主要使用编程配置,所以我删除了 @ImportResource(value = {"classpath:hibernate.cdf.xml"}) 注释,这样就不会使用 hibernate.cdf.xml。然后我尝试使用编程配置设置以前在 xml 中看到的属性。
这:
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.enable_lazy_load_no_trans">true</property>
可以表示为:
hibernateProperties.setProperty ("org.hibernate.context.internal.ThreadLocalSessionContext", "thread");
hibernateProperties.setProperty("hibernate.enable_lazy_load_no_trans", "true");
觉得合适的请采纳。
添加回答
举报