我正在使用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
答案 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();