栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Hibernate错误,可能带有DTD声明

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hibernate错误,可能带有DTD声明

我也只是从3.0迁移到4.0,我假设有3个原因导致我使用以下DTD

这种情况下的实际解决方法

确保路径中没有任何旧的3.0 jar,否则您会看到此异常。

可能的原因1

对于hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

对于hbm文件

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

对我来说效果很好。

可能的原因2

<hibernate-mapping>
的hbm文件中有拼写错误。

编辑:

我正在使用编程和cfg文件的混合配置。当我尝试使用所有程序化程序时,它对我不起作用。我也没有从SO获得太多帮助。但是下面对我有用。

try {    String connection = "jdbc:mysql://" + Globals.DBSERVER.trim() + "/myDB?autoReconnect=true&failOverReadonly=false&maxReconnects=10";    log.debug("Connection URL "+connection) ;    Configuration configuration = new Configuration();    configuration .setProperty("hibernate.connection.url", connection) .setProperty("hibernate.connection.username", Globals.DB_USER_NAME.trim()) .setProperty("hibernate.connection.password", Globals.DB_PASSWORD.trim())        ;    configuration.configure();        sessionFactory = configuration .buildSessionFactory(new ServiceRegistryBuilder() .applySettings(configuration.getProperties()).buildServiceRegistry());     } catch (Exception e) {         log.fatal("Unable to create SessionFactory for Hibernate");         log.fatal(e.getMessage());         log.fatal(e);         e.printStackTrace();     }

我的问题帮助我解决了这个问题。

总体建议

全部采用编程方式是一个坏主意。由于有很多程序化的东西,您需要从列到变量的映射到变量类型的添加。这将是调试的噩梦。我建议您做一些
程序化的工作,而无需编程就可以做到。对我来说,我只需要从cmd行获取用户名密码,以便可以将产品部署在任何服务器上。因此,我只是将该程序化了。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号