hibernate第一个程序出错啦,重做了三次还是有错,怎么办!!!

qq_29004999 2016-12-14 04:39:40
照着视频教程做的,运行的时候就报错。我以为是jar包没引入正确,干脆把hibernate里面所有的jar包全都导入了进去,但还是有错
十二月 14, 2016 4:24:31 下午 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.0.9.Final}
十二月 14, 2016 4:24:31 下午 org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
十二月 14, 2016 4:24:31 下午 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
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 org.hibernate.cfg.Configuration.configure(Configuration.java:245)
at com.test.StudentTest.main(StudentTest.java:19)
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[2,11]
Message: 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
at com.sun.xml.internal.stream.XMLEventReaderImpl.peek(Unknown Source)
at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:103)
... 6 more

配置文件是这样的:它放在了根目录下
<!--该文件的开头信息,对Hibernate而言,该类文件基本都这么开头:)-->
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- 正文开始 -->
<hibernate-configuration>
<!--下面是数据库的基本连接信息,对一个应用来说,设置一个session-factory节点就够了,除非我们中间使用了多个数据库-->
<session-factory>
<property name="connection.url">jdbc:mysql:3306//localhost:hibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">123</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!--数据库方言信息-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 是否自动生成建表语句 -->
<!-- <property name="hbm2ddl.auto">update</property> -->
<property name="show_sql">true</property>
<!-- 去掉二级缓存 -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!--指定Hibernate映射文件路径 -->
<mapping resource="com/model/Student.hbm.xml" />
</session-factory>
</hibernate-configuration>

第二个配置文件:放在了和实体类在一个包中
<?xml version="1.0" encoding='UTF-8' ?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<hibernate-mapping package="com.model">
<class name="Student" table="student">
<!-- 属性和表中的字段一致,所以可以这样写 -->
<!-- 否则要加 column="字段名" -->
<id name="id"></id>
<property name="name"></property>
<property name="age"></property>
</class>
</hibernate-mapping>
...全文
210 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
月明星稀灬 2016-12-14
  • 打赏
  • 举报
回复
新建一个xml,把内容拷贝过去,有时候ide会编译出错,记得清一下缓存吧。
墨笙弘一 2016-12-14
  • 打赏
  • 举报
回复
应该是你配置文件格式哪里有问题 建议你直接从官方文档里面copy一个hibernate.cfg.xml

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧