线程" main"中的例外情况org.hibernate.HibernateException:访问stax流时出错

时间:2015-12-30 09:55:56

标签: java mysql hibernate ubuntu-14.04

我正在使用ubuntu创建hibernate应用程序,试图将hibernate与mysql连接,但是这个异常正在出现。我现在该怎么做才能解决这个问题?

Exception in thread "main" org.hibernate.HibernateException: Error accessing stax stream
at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:107)
at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:65)
at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:57)
at org.hibernate.boot.registry.StandardServiceRegistryBuilder.configure(StandardServiceRegistryBuilder.java:163)
at org.hibernate.cfg.Configuration.configure(Configuration.java:259)
at test.Client.main(Client.java:18)
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[8,16]
Message: The processing instruction target matching "[xX][mM][lL]" is not allowed.
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:598)
at com.sun.xml.internal.stream.XMLEventReaderImpl.peek(XMLEventReaderImpl.java:275)
at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:103)
... 5 more

2 个答案:

答案 0 :(得分:3)

你在hibernate.cfg.xml中有非​​法符号,可能是空格。有关详细信息,请参阅此处

Error: The processing instruction target matching “[xX][mM][lL]” is not allowed

答案 1 :(得分:0)

这里的问题是hibernate无法找到你的hibernate配置文件。

Hibernate默认在您的资源文件夹中找到您的Hibernate配置文件。

如果资源文件夹中的 Hibernate.cfg.xml 文件,那么检查下面的行必须存在于HibernateUtil类中(在那里你配置了hibernate SessionFactory)。

sessionFactory = new Configuration()。configure()。buildSessionFactory();

如果您的 Hibernate.cfg.xml 文件位于不同的位置,请在HibernateUtil类中添加以下行。

sessionFactory = new Configuration()。configure(" /配置文件的路径")。buildSessionFactory();