线程“main”中的exceptionorg.hibernate.HibernateException:访问stax流时出错

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

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 

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

错误:不允许匹配“[xX] [mM] [lL]”的处理指令目标 。

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

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

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

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

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

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