你PurviewItemDefine.hbm.xml 是放在哪?
解决方案 »
- axis2动态调用webservice
- 100分求翻译
- 一个关于日文输入判断的问题,输入必须是日文,否则为错,如何写呢?
- mina接收数据失败
- 请问System.out.println();输出的信息,保存到tomcat什么地方去了?多谢!
- 有关struts中文冲突问题,怎么办?进来看看,谢谢!
- ejb部署的问题 那个lookup()里的名字到底怎么确定的?
- 用JB6编译程序的时候,哪怕我改动一点,只想编译一下,它也会用EJBC,我能屏蔽掉EJBC吗???
- 在java中怎么实现一个按钮对两个事件监听
- 为什么匿名内部类引入包之后报错
- 大家请帮忙啊:怎样利用对话框取得的数据在面板上面画图呢?
- 安装JDK1.4.2要不要设置环境变量?
是不能解释 PurviewItemDefine.hbm.xml
所以我很迷糊
1。你的映射文件必须放在com/chaitai/db/hib/ 目录下,hibernate.cfg.xml必须放在你项目的根目录下。
2。你的property里的type="string"代表的是你java bean的类型,所以应写为type="java.lang.String"注意大小写。
3。还有,type="integer"的property,在oracle8i中可能会有问题,一般最好改为java.math.BicDecimal .在oracle9i中,可能没有问题。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.chaitai.db.hib.PurviewItemDefine" schema="PURVIEW" table="PURVIEW_ITEM_DEFINE">
<id column="PURVIEW_ITEM_DEFINE_ID" name="id" type="java.lang.String">
<generator class="uuid.hex"/>
</id>
<property column="PURVIEW_ITEM_DEFINE_NO" length="9" name="purviewItemDefineNo" not-null="true" type="java.math.BicDecimal"/>
<property column="PURVIEW_ITEM_DEFINE_NAME" length="50" name="purviewItemDefineName" type="java.lang.String"/>
<property column="REMAKE" length="100" name="remake" type="java.lang.String"/>
</class>
</hibernate-mapping>报错如下:
log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.net.sf.hibernate.MappingException: Error reading resource: com/chaitai/db/hib/PurviewItemDefine.hbm.xml at net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:336) at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:990) at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:946) at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:874) at com.chaitai.ctrl.DbTest.listdb(DbTest.java:32) at com.chaitai.util.MainFrame.<init>(MainFrame.java:80) at com.chaitai.util.MainApplication.<init>(MainApplication.java:23) at com.chaitai.util.MainApplication.main(MainApplication.java:78)Caused by: net.sf.hibernate.MappingException: Could not interpret type: java.math.BicDecimal at net.sf.hibernate.cfg.Binder.getTypeFromXML(Binder.java:923) at net.sf.hibernate.cfg.Binder.bindSimpleValue(Binder.java:424) at net.sf.hibernate.cfg.Binder.propertiesFromXML(Binder.java:1036) at net.sf.hibernate.cfg.Binder.bindRootClass(Binder.java:361) at net.sf.hibernate.cfg.Binder.bindRoot(Binder.java:1243) at net.sf.hibernate.cfg.Configuration.add(Configuration.java:249) at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:285) at net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:333) ... 7 more
conf = new Configuration().addClass(com.chaitai.db.hib.PurviewItemDefine.class);
conf.configure("/hibernate.cfg.xml");
sessionFactory = conf.buildSessionFactory();
--------------------------------------------------
改成
sessionFactory = new Configuration().configure().buildSessionFactory();2.
<hibernate-configuration> <session-factory>
...
...
...
<!-- Mapping files -->
<mapping resource="com/chaitai/db/hib/PurviewItemDefine.hbm.xml"/> </session-factory> </hibernate-configuration>
--------------------------<mapping resource="com/chaitai/db/hib/PurviewItemDefine.hbm.xml"/>
改成<mapping resource="\com\chaitai\db\hib\PurviewItemDefine.hbm.xml"/> 当然要确定PurviewItemDefine.hbm.xml是放在com\chaitai\db\hib\下
BigDecimal写错了