首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

Caused by: org.hibernate.PropertyNotFoundException: field not

2011-11-25 
hibernate菜鸟问题错误信息-------------------------------------log4j:WARN No appenders could be foun

hibernate菜鸟问题
错误信息
-------------------------------------
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not read mappings from resource: com/shop/pojo/Manager.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:485)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
at sessionfactory.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:30)
at test.Tool.main(Tool.java:12)
Caused by: org.hibernate.PropertyNotFoundException: field not found: m_name
at org.hibernate.property.DirectPropertyAccessor.getField(DirectPropertyAccessor.java:97)
at org.hibernate.property.DirectPropertyAccessor.getField(DirectPropertyAccessor.java:104)
at org.hibernate.property.DirectPropertyAccessor.getGetter(DirectPropertyAccessor.java:112)
at org.hibernate.util.ReflectHelper.getter(ReflectHelper.java:89)
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:77)
at org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:276)
at org.hibernate.cfg.HbmBinder.createProperty(HbmBinder.java:2138)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2115)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2005)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:368)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:282)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:153)
at org.hibernate.cfg.Configuration.add(Configuration.java:386)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
... 7 more
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not read mappings from resource: com/shop/pojo/Manager.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:485)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
at sessionfactory.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:69)
at sessionfactory.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53)
at test.Tool.main(Tool.java:12)
Caused by: org.hibernate.PropertyNotFoundException: field not found: m_name
at org.hibernate.property.DirectPropertyAccessor.getField(DirectPropertyAccessor.java:97)
at org.hibernate.property.DirectPropertyAccessor.getField(DirectPropertyAccessor.java:104)
at org.hibernate.property.DirectPropertyAccessor.getGetter(DirectPropertyAccessor.java:112)
at org.hibernate.util.ReflectHelper.getter(ReflectHelper.java:89)
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:77)
at org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:276)
at org.hibernate.cfg.HbmBinder.createProperty(HbmBinder.java:2138)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2115)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2005)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:368)


at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:282)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:153)
at org.hibernate.cfg.Configuration.add(Configuration.java:386)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
... 8 more
============================================================================================
hibernate.cfg.xml
<?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">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="connection.username">scott</property>
<property name="connection.url">
jdbc:oracle:thin:@127.0.0.1:1521:liang
</property>
<property name="dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
<property name="myeclipse.connection.profile">orale</property>
<property name="connection.password">tiger</property>
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="com/shop/pojo/Manager.hbm.xml" />
 
<mapping resource="com/shop/pojo/User.hbm.xml" />
<mapping resource="com/shop/pojo/Dpt.hbm.xml" />

</session-factory>

</hibernate-configuration>
===================================================================================================
实体类
public class Manager {
//标识
public Long m_id ;
//登录用户名
public String m_username ;
//登录密码
public String m_password ;
//真实姓名
public String name ;
//注册时间
public Date logDate ;
//构造器
public Manager() {
super();
}
//标识m_id的getter和setter方法
public Long getM_id() {
return m_id;
}
public void setM_id(Long m_id) {
this.m_id = m_id;
}
//m_username的getter和setter方法
public String getM_username() {
return m_username;
}
public void setM_username(String m_username) {
this.m_username = m_username;
}
//m_password的getter和setter方法
public String getM_password() {
return m_password;
}
public void setM_password(String m_password) {
this.m_password = m_password;
}
//name的getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//logdate的getter和setter方法
public Date getLogDate() {
return logDate;
}
public void setLogDate(Date logDate) {
this.logDate = logDate;
}

}
=============================================================================================
配置文件
<?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.shop.pojo">
  <class name="Manager" table="SHOP_MANAGER" schema="SCOTT">
  <id name="m_id">
  <generator class="native" />
  </id>
  <property name="m_username" not-null="true"/>


  <property name="m_password" not-null="true"/>
  <property name="m_name" not-null="true"/>
  <property name="logDate" not-null="true" />
  </class>
</hibernate-mapping>

[解决办法]
public String name ; 

<property name="m_name" not-null="true"/>

配置文件和实际javaBean的属性不相符。系统无法映射。导致Hibernate报Caused by: org.hibernate.PropertyNotFoundException: field not found: m_name 
说的就是没有发现属性m_name

热点排行