Caused by: org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of com.chnstone.crm.dm.teacher.model.Assistant.id
at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:171)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:183)
at org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:3591)
at org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3307)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:181)
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:456)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:334)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
at org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:751)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
... 45 more
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:145)
... 76 more我2表关联添加时报错,请问什么原因
at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:171)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:183)
at org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:3591)
at org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3307)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:181)
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:456)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:334)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
at org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:751)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
... 45 more
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:145)
... 76 more我2表关联添加时报错,请问什么原因
com.chnstone.crm.dm.teacher.model.Assistant.id
* Assistant entity. @author MyEclipse Persistence Tools
*/public class Assistant implements java.io.Serializable { // Fields private String id;
private Teachers teachers;
private String name;
private String phone;
private String mobilephone;
private String email;
private String msn;
private String qq; // Constructors /** default constructor */
public Assistant() {
} /** minimal constructor */
public Assistant(String name) {
this.name = name;
} /** full constructor */
public Assistant(Teachers teachers, String name, String phone,
String mobilephone, String email, String msn, String qq) {
this.teachers = teachers;
this.name = name;
this.phone = phone;
this.mobilephone = mobilephone;
this.email = email;
this.msn = msn;
this.qq = qq;
} // Property accessors public String getId() {
return this.id;
} public void setId(String id) {
this.id = id;
} public Teachers getTeachers() {
return this.teachers;
} public void setTeachers(Teachers teachers) {
this.teachers = teachers;
} public String getName() {
return this.name;
} public void setName(String name) {
this.name = name;
} public String getPhone() {
return this.phone;
} public void setPhone(String phone) {
this.phone = phone;
} public String getMobilephone() {
return this.mobilephone;
} public void setMobilephone(String mobilephone) {
this.mobilephone = mobilephone;
} public String getEmail() {
return this.email;
} public void setEmail(String email) {
this.email = email;
} public String getMsn() {
return this.msn;
} public void setMsn(String msn) {
this.msn = msn;
} public String getQq() {
return this.qq;
} public void setQq(String qq) {
this.qq = qq;
}
public Assistant toPojo() {
// TODO Auto-generated method stub
Assistant pojo = new Assistant();
pojo.setId(getId());
pojo.setName(getName());
pojo.setPhone(getPhone());
pojo.setMobilephone(getMobilephone());
pojo.setQq(getQq());
pojo.setMsn(getMsn());
pojo.setEmail(getEmail());
return pojo;
}}
级联添加可能需要配置一些属性!!! 具体的我忘记了~~~
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping package="com.chnstone.crm.dm.teacher.model">
<class name="Assistant" table="ASSISTANT_" schema="CHNSTONE_CRM_WX_21">
<id name="id" type="string">
<column name="ID_" />
<generator class="uuid" />
</id>
<many-to-one name="teachers" cascade="save-update" column="FK_TACHER" />
<property name="name" type="string">
<column name="NAME_" not-null="true" />
</property>
<property name="phone" type="string">
<column name="PHONE_" />
</property>
<property name="mobilephone" type="string">
<column name="MOBILEPHONE_" />
</property>
<property name="email" type="string">
<column name="EMAIL_" />
</property>
<property name="msn" type="string">
<column name="MSN_" />
</property>
<property name="qq" type="string">
<column name="QQ" length="4000" />
</property>
</class>
</hibernate-mapping><?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">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping package="com.chnstone.crm.dm.teacher.model">
<class name="Teachers" table="TEACHERS_" schema="CHNSTONE_CRM_WX_21">
<id name="id" type="string">
<column name="ID_" />
<generator class="uuid" />
</id>
<property name="name" type="string">
<column name="NAME_" not-null="true" />
</property>
<property name="phone" type="string">
<column name="PHONE_" />
</property>
<property name="mobilephone" type="string">
<column name="MOBILEPHONE_" />
</property>
<property name="email" type="string">
<column name="EMAIL_" />
</property>
<property name="msn" type="string">
<column name="MSN_" />
</property>
<property name="qq" type="string">
<column name="QQ_" />
</property>
<property name="interoduction" type="string">
<column name="INTERODUCTION_" />
</property>
<property name="age" type="string">
<column name="AGE_" />
</property>
<property name="sex" type="string">
<column name="SEX_" />
</property>
<property name="price" type="string">
<column name="PRICE_" />
</property>
<property name="address" type="string">
<column name="ADDRESS_" />
</property>
<property name="coures" type="string">
<column name="COURES_" />
</property>
<property name="note" type="string">
<column name="NOTE_" />
</property>
<set name="assistants" cascade="all-delete-orphan" order-by="ID_ desc" >
<key column="FK_TACHER" />
<one-to-many class="Assistant" />
</set>
</class>
</hibernate-mapping>