我在我的项目下新建了一个映射文件,运行报错org.hibernate.InvalidMappingException: Could not parse mapping document from
resource com/bingo/server/barback/entiy/Barback.hbm.xml
at org.apache.mina.common.IoEvent.run(IoEvent.java:62)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor、java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mappi
ng com.bingo.server.barback.entiy.Barback
at org.hibernate.cfg.Mappings.addClass(Mappings.java:118)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:145)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
... 22 more
sessionfactory===null
java.lang.NullPointerException
at com.bingo.server.HibernateSessionFactory.beginTransaction(HibernateSe
ssionFactory.java:65)
at com.bingo.server.placard.daoimp.PlacardDAOImpl.getPlacardById(Placard
DAOImpl.java:22)
at com.bingo.server.logic.GameLogic.placard(GameLogic.java:49)
at com.bingo.server.logic.CommandParse.parseCommand(CommandParse.java:10
9)
at com.bingo.server.logic.CommandParse.divisionCommand(CommandParse.java
:33)
at com.bingo.server.logic.GameProtocolHandler.messageReceived(GameProtoc
olHandler.java:39)
at org.apache.mina.common.DefaultIoFilterChain$TailFilter.messageReceive
d(DefaultIoFilterChain.java:743)
at org.apache.mina.common.DefaultIoFilterChain.callNextMessageReceived(D
efaultIoFilterChain.java:405)
at org.apache.mina.common.DefaultIoFilterChain.access$1200(DefaultIoFilt
erChain.java:40)
at org.apache.mina.common.DefaultIoFilterChain$EntryImpl$1.messageReceiv ed(DefaultIoFilterChain.java:823)
at org.apache.mina.common.IoFilterEvent.fire(IoFilterEvent.java:54)
at org.apache.mina.common.IoEvent.run(IoEvent.java:62)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:907)
at java.lang.Thread.run(Thread.java:619)从信息上看,是对映射文件解析的原因,我在网上google了下,从相关的信息上却修改,并没有发现问题,请大大们帮帮看看。
我的实体映射文件如下<?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>
<class name="com.bingo.server.barback.entiy.Barback" table="barback"
catalog="game" lazy="false">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="native" />
</id>
<property name="header" type="java.lang.String">
<column name="header" length="20" />
</property>
<property name="aide" type="java.lang.String">
<column name="aide" length="20" />
</property>
<property name="commissar" type="java.lang.String">
<column name="commissar" length="20" />
</property>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
<property name="level" type="java.lang.Integer">
<column name="level" />
</property>
<property name="totalgamemoney" type="java.lang.Integer">
<column name="totalgamemoney" />
</property>
<property name="lasttotalgamemonry" type="java.lang.Integer">
<column name="lasttotalgamemonry" />
</property>
<property name="itemnpc" type="java.lang.Integer">
<column name="item_npc" />
</property>
</class>
</hibernate-mapping>实体类如下:public class Barback implements java.io.Serializable {
private Integer id;
private Integer level;
private Integer totalgamemoney;
private Integer lasttotalgamemonry;
private String header;
private String aide;
private String commissar;
private String name;
private int itemnpc;
private String notenough;
private String creattime;
public Barback() {
} public Integer getLevel() {
return this.level;
} public void setLevel(Integer level) {
this.level = level;
}
public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getHeader() {
return header;
} public void setHeader(String header) {
this.header = header;
} public String getAide() {
return aide;
} public void setAide(String aide) {
this.aide = aide;
} public String getCommissar() {
return commissar;
} public void setCommissar(String commissar) {
this.commissar = commissar;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getTotalgamemoney() {
return totalgamemoney;
} public void setTotalgamemoney(Integer totalgamemoney) {
this.totalgamemoney = totalgamemoney;
} public Integer getLasttotalgamemonry() {
return lasttotalgamemonry;
} public void setLasttotalgamemonry(Integer lasttotalgamemonry) {
this.lasttotalgamemonry = lasttotalgamemonry;
}
public Integer getItemnpc() {
return itemnpc;
} public void setItemnpc(Integer itemnpc) {
this.itemnpc = itemnpc;
} public String getNotenough()
{
return notenough;
}
public void setNotenough(String notenough)
{
this.notenough = notenough;
}
public String getCreattime()
{
return creattime;
}
public void setCreattime(String creattime)
{
this.creattime = creattime;
}}
resource com/bingo/server/barback/entiy/Barback.hbm.xml
at org.apache.mina.common.IoEvent.run(IoEvent.java:62)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor、java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mappi
ng com.bingo.server.barback.entiy.Barback
at org.hibernate.cfg.Mappings.addClass(Mappings.java:118)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:145)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
... 22 more
sessionfactory===null
java.lang.NullPointerException
at com.bingo.server.HibernateSessionFactory.beginTransaction(HibernateSe
ssionFactory.java:65)
at com.bingo.server.placard.daoimp.PlacardDAOImpl.getPlacardById(Placard
DAOImpl.java:22)
at com.bingo.server.logic.GameLogic.placard(GameLogic.java:49)
at com.bingo.server.logic.CommandParse.parseCommand(CommandParse.java:10
9)
at com.bingo.server.logic.CommandParse.divisionCommand(CommandParse.java
:33)
at com.bingo.server.logic.GameProtocolHandler.messageReceived(GameProtoc
olHandler.java:39)
at org.apache.mina.common.DefaultIoFilterChain$TailFilter.messageReceive
d(DefaultIoFilterChain.java:743)
at org.apache.mina.common.DefaultIoFilterChain.callNextMessageReceived(D
efaultIoFilterChain.java:405)
at org.apache.mina.common.DefaultIoFilterChain.access$1200(DefaultIoFilt
erChain.java:40)
at org.apache.mina.common.DefaultIoFilterChain$EntryImpl$1.messageReceiv ed(DefaultIoFilterChain.java:823)
at org.apache.mina.common.IoFilterEvent.fire(IoFilterEvent.java:54)
at org.apache.mina.common.IoEvent.run(IoEvent.java:62)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:907)
at java.lang.Thread.run(Thread.java:619)从信息上看,是对映射文件解析的原因,我在网上google了下,从相关的信息上却修改,并没有发现问题,请大大们帮帮看看。
我的实体映射文件如下<?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>
<class name="com.bingo.server.barback.entiy.Barback" table="barback"
catalog="game" lazy="false">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="native" />
</id>
<property name="header" type="java.lang.String">
<column name="header" length="20" />
</property>
<property name="aide" type="java.lang.String">
<column name="aide" length="20" />
</property>
<property name="commissar" type="java.lang.String">
<column name="commissar" length="20" />
</property>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
<property name="level" type="java.lang.Integer">
<column name="level" />
</property>
<property name="totalgamemoney" type="java.lang.Integer">
<column name="totalgamemoney" />
</property>
<property name="lasttotalgamemonry" type="java.lang.Integer">
<column name="lasttotalgamemonry" />
</property>
<property name="itemnpc" type="java.lang.Integer">
<column name="item_npc" />
</property>
</class>
</hibernate-mapping>实体类如下:public class Barback implements java.io.Serializable {
private Integer id;
private Integer level;
private Integer totalgamemoney;
private Integer lasttotalgamemonry;
private String header;
private String aide;
private String commissar;
private String name;
private int itemnpc;
private String notenough;
private String creattime;
public Barback() {
} public Integer getLevel() {
return this.level;
} public void setLevel(Integer level) {
this.level = level;
}
public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getHeader() {
return header;
} public void setHeader(String header) {
this.header = header;
} public String getAide() {
return aide;
} public void setAide(String aide) {
this.aide = aide;
} public String getCommissar() {
return commissar;
} public void setCommissar(String commissar) {
this.commissar = commissar;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getTotalgamemoney() {
return totalgamemoney;
} public void setTotalgamemoney(Integer totalgamemoney) {
this.totalgamemoney = totalgamemoney;
} public Integer getLasttotalgamemonry() {
return lasttotalgamemonry;
} public void setLasttotalgamemonry(Integer lasttotalgamemonry) {
this.lasttotalgamemonry = lasttotalgamemonry;
}
public Integer getItemnpc() {
return itemnpc;
} public void setItemnpc(Integer itemnpc) {
this.itemnpc = itemnpc;
} public String getNotenough()
{
return notenough;
}
public void setNotenough(String notenough)
{
this.notenough = notenough;
}
public String getCreattime()
{
return creattime;
}
public void setCreattime(String creattime)
{
this.creattime = creattime;
}}
<?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>
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<property name="hibernate.cache.use_query_cache">true</property>
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="net.sf.ehcache.configurationResourceName">classpath:ehcache.xml</property>
<property name="connection.username">tonyue</property>
<property name="connection.url">jdbc:oracle:thin:@61.147.117.135:1521:orcl</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="myeclipse.connection.profile">Oracle</property>
<property name="connection.password">tonyue306309</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<mapping resource="com/bingo/server/barback/entiy/Barback.hbm.xml" />
<mapping resource="com/bingo/server/friend/entiy/Friend.hbm.xml" />
<mapping resource="com/bingo/server/user/entiy/Gameuser.hbm.xml" />
<mapping resource="com/bingo/server/log/entiy/Logs.hbm.xml" />
<mapping resource="com/bingo/server/pet/entiy/Pet.hbm.xml" />
<mapping resource="com/bingo/server/blacklist/entiy/Blacklist.hbm.xml"/>
<mapping resource="com/bingo/server/placard/entiy/Placard.hbm.xml"/>
<mapping resource="com/bingo/server/item/entiy/Useritemlist.hbm.xml"/>
<mapping resource="com/bingo/server/item/entiy/Item.hbm.xml"/>
<mapping resource="com/bingo/server/barbackapplylist/entiy/BarbackApplyList.hbm.xml"/>
<class-cache class="com.bingo.server.barback.entiy.Barback" usage="nonstrict-read-write"/>
<class-cache class="com.bingo.server.friend.entiy.Friend" usage="read-write"/>
<class-cache class="com.bingo.server.user.entiy.Gameuser" usage="read-write"/>
<class-cache class="com.bingo.server.log.entiy.Logs" usage="read-write"/>
<class-cache class="com.bingo.server.pet.entiy.Pet" usage="read-write"/>
<class-cache class="com.bingo.server.blacklist.entiy.Blacklist" usage="read-write"/>
<class-cache class="com.bingo.server.placard.entiy.Placard" usage="read-write"/>
<class-cache class="com.bingo.server.item.entiy.Useritemlist" usage="nonstrict-read-write"/>
<class-cache class="com.bingo.server.item.entiy.Item" usage="nonstrict-read-write"/>
<class-cache class="com.bingo.server.barbackapplylist.entiy.BarbackApplyList" usage="read-write"/>
</session-factory>
</hibernate-configuration>
这是我的hibernate配置文件。我不太明白楼上的师兄所说的错误是在哪?麻烦帮忙看下吧
<column name="header" length="20" />
</property>映射的column name是 header,但是你数据库里的列名是B_HEADER,怎么不一样?
这个映射文件莫非是你自己写的为什么不用工具去生成呢?