当前位置: 首页 > 知识库问答 >
问题:

Hibernate-错误访问stax流-与hibernate.properties

赫连卓
2023-03-14

我遇到了这个错误:

信息:HH000205:已从资源Hibernate加载属性。属性:{hibernate.connection.driver\u class=oracle.jdbc.driver.OracleDriver,hibernate.dialect=org.hibernate.dialect.Oracle8iDialect,hibernate.connection.password=**,hibernate.connection.username=myUserName,hibernate.connection.url=jdbc:oracle:thin:@//myHost:1521/mySID,hibernate.bytecode.use\u reflection\u optimizer=false,show\u sql=true}

组织。冬眠HibernateException:访问组织上的stax流时出错。冬眠靴子cfgxml。内部的JaxbCfgProcessor。org上的unmarshal(JaxbCfgProcessor.java:107)。冬眠靴子cfgxml。内部的JaxbCfgProcessor。org上的unmarshal(JaxbCfgProcessor.java:65)。冬眠靴子cfgxml。内部的ConfigLoader。loadConfigXmlResource(ConfigLoader.java:57)位于org。冬眠靴子注册表。StandardServiceRegistryBuilder。在org上配置(StandardServiceRegistryBuilder.java:165)。冬眠cfg。配置在gradletests上配置(Configuration.java:258)。冬眠。gradletests上的getSessionFactory(HibernateUtils.java:15)。主测试。main(MainTest.java:14)由:javax引起。xml。流动XMLStreamException:ParseError at[row,col]:[1,1]消息:prolog中不允许包含内容。在java。xml/com。太阳组织。阿帕奇。xerces。内部的impl。XMLStreamReaderImpl。接下来(XMLStreamReaderImpl.java:652)在java。xml/com。太阳xml。内部的流动XMLEventReaderImpl。peek(XMLEventReaderImpl.java:277),网址:org。冬眠靴子cfgxml。内部的JaxbCfgProcessor。解组(JaxbCfgProcessor.java:103)。。。6个以上

在尝试打开这样的会话时:

private static SessionFactory factory;
private static boolean isInitialized = false;
public static synchronized SessionFactory getSessionFactory() {
    if (!isInitialized) {
        factory = new Configuration().configure("hibernate.properties").
                addAnnotatedClass(Myclass.class).
                buildSessionFactory();
        isInitialized = true;
    }
    return factory;
}

显然,我的属性文件是关于输出的:

信息:HH000205:已从资源Hibernate加载属性。属性:{hibernate.connection.driver\u class=oracle.jdbc.driver.OracleDriver,hibernate.dialect=org.hibernate.dialect.Oracle8iDialect,hibernate.connection.password=**,hibernate.connection.username=myUserName,hibernate.connection.url=jdbc:oracle:thin:@//myHost:1521/mySID,hibernate.bytecode.use\u reflection\u optimizer=false,show\u sql=true}

hibernate.properties看起来像这样:

hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.connection.url=jdbc:oracle:thin:@//myHost:1521/mySID
hibernate.connection.username=myUserName
hibernate.connection.password=myPassword
hibernate.dialect=org.hibernate.dialect.Oracle8iDialect
show_sql=true

还有我的身材。gradle导入:

implementation group: 'org.springframework',        name: 'spring-context',     version: '5.1.4.RELEASE'
implementation group: 'org.springframework',        name: 'spring-orm',         version: '5.1.4.RELEASE'
implementation group: 'org.springframework.data',   name: 'spring-data-jpa',    version: '2.1.4.RELEASE'
implementation group: 'org.hibernate',              name: 'hibernate-core',     version: '5.4.1.Final'
implementation group: 'com.oracle.database.jdbc',   name: 'ojdbc8',             version: '21.1.0.0'

错误的第二部分:

原因:javax。xml。流动XMLStreamException:ParseError at[row,col]:[1,1]消息:prolog中不允许包含内容。在java。xml/com。太阳组织。阿帕奇。xerces。内部的impl。XMLStreamReaderImpl。接下来(XMLStreamReaderImpl.java:652)在java。xml/com。太阳xml。内部的流动XMLEventReaderImpl。peek(XMLEventReaderImpl.java:277),网址:org。冬眠靴子cfgxml。内部的JaxbCfgProcessor。解组(JaxbCfgProcessor.java:103)。。。6个以上

是指一个文件的行和列,这是Hibernate。属性,我知道它是因为如果我在文件的开头添加一个return,它的结果是第2行和第1列,而不是1,1。

我不理解,因为它似乎第一次正确读取了文件,然后崩溃了,就像它在等待xml格式一样。

我认为我没有在类中正确加载属性文件,但我没有找到任何关于如何加载它的内容。知道吗?

共有1个答案

苍意智
2023-03-14

hibernate.properties文件是自动应用的,您不需要加载它。除此之外,如果您查看方法Configuration#config ure的JavaDoc,您会看到它期望XML文件的路径。如果您想加载其他属性,您必须自己使用Properties#load加载这些属性,使用方法Configuration#mergeProperties添加它们

 类似资料:
  • 问题内容: 我正在尝试使用hibernate模式创建MySQL数据库表,但出现以下错误消息: 这是我的Main.java文件: 我的hibernate.cfg.xml: 感谢您的帮助 问题答案: 您需要关闭标签。 中没有字符: 应该

  • 我是谷歌应用程序帐户用户。当我尝试访问谷歌加域API时,我收到此错误。“不允许访问谷歌域名API,因为用户已同意不兼容的范围”。我请求的范围是:“https://www.googleapis.com/auth/plus.circles.read,https://www.googleapis.com/auth/plus.circles.write,https://www.googleapis.com

  • 我正在使用Python 2.7.8 32位调用MS Access2007。 我在网上搜索了一段时间,没有发现代码有任何问题。

  • 遥不可及!更改:false,msg:SSH错误:无法将数据发送到远程主机。确保可以通过ssh访问此主机,“不可访问”:true 主持人: ansible.cfg 我正在使用executeshell运行Jenkins的剧本`

  • 正在尝试将代码更新为Selenium 3。x、 在尝试运行测试时,我不断遇到一个错误: 同样的代码曾经在运行测试时工作,我真的不知道它在哪里或为什么会出现这样一个奇怪的错误。我似乎找不到任何人以前写过的任何东西,所以我希望stackoverflow社区可以帮助我解决这个问题。 以下是生成此错误的代码:

  • 我正在通过 Windows(10) 启动时的批处理文件启动我的应用程序。这是我在批处理文件中的内容 - 当windows启动时,我得到了 无法访问文件.jar 然而,问题是在这个错误消息之后,应用程序仍然在启动中,并且运行良好。正在访问jar但我仍然无法访问jar错误的原因是什么,如何避免它?找不到这个特定案例的任何答案。