欢迎访问!

Office学习网

您现在的位置是:主页 > 网络技术

网络技术

IllegalArgumentException occurred while calling setter for p

发布时间:2026-09-06网络技术评论
以下内容是CSDN社区关于IllegalArgumentException occurred while calling setter for property问题相关内容,如果想了解更多关于其他社

映射文件中的many-to-one标签又不能设置type这个属性, 在hibernate一对多测试练习中遇到了这个错误 Exception in thread main IllegalArgumentException occurred while calling setter for property [Bean.Student.deptid (expected type java.lang.String)]; target [Bean.Student6c2f1700], , String sname, property value [Bean.Dept450794b4] at org.hibernate.property.access.spi.SetterMethodImpl.set(SetterMethodImpl.java:99) at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:709) at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:205) at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:4707) at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:183) at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:125) at org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.performTwoPhaseLoad(AbstractRowReader.java:238) at org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.finishUp(AbstractRowReader.java:209) at org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl.extractResults(ResultSetProcessorImpl.java:133) at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:122) at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:86) at org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.initialize(AbstractLoadPlanBasedCollectionInitializer.java:87) at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:688) at org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:75) at org.hibernate.internal.SessionImpl.initializeCollection(SessionImpl.java:2185) at org.hibernate.collection.internal.AbstractPersistentCollection$4.doWork(AbstractPersistentCollection.java:565) at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:247) at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:561) at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:132) at org.hibernate.collection.internal.PersistentSet.iterator(PersistentSet.java:163) at Dao.oneToManyDemo.main(oneToManyDemo.java:25) 其中oneToManyDemo代码如下 package Dao; import java.util.Iterator; import java.util.List; import java.util.Set; import org.hibernate.Session; import org.hibernate.query.Query; import Bean.Dept; import Bean.Student; import Hibernate.HibernateSessionFactory; public class oneToManyDemo { public static void main(String[] args) { // TODO Auto-generated method stub Session s HibernateSessionFactory.getSession(); Query? q s.createQuery(from Dept); List? l (List?) q.list(); for(int i0;i(l).size();i){ Dept dept(Dept) l.get(i); System.out.println(dept.getDeptid()); SetStudent stu dept.getStudents(); IteratorStudent it stu.iterator(); //该行就为报错的第25行 while(it.hasNext()){ Student st (Student) it.next(); System.out.println(st.getSno() st.getSname()); } } } } 其中Bean.Student类代码如下 package Bean; public class Student { private String sno; private String sname; private String deptid; public Student(){ } public Student(String sno, String deptid) { this.sno sno; this.sname sname; this.deptid deptid; } public String getSno() { return sno; } public void setSno(String sno) { this.sno sno; } public String getSname() { return sname; } public void setSname(String sname) { this.sname sname; } public String getDeptid() { return deptid; } public void setDeptid(String deptid) { this.deptid deptid; } } student.hbm.xml文件内容如下 ?xml version1.0 encodingUTF-8? !DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD 3.0//EN hibernate-mapping class nameBean.Student tablestudent catalogmyweb id namesno typejava.lang.String column namesno length4/column generator classassigned/generator /id !-- name:设定待映射的持久化类的属性名 -- !-- column:设定和持久化类的属性对应的表的外键 -- !-- class:设定持久化类的属性的类型 -- many-to-one namedeptid classBean.Dept fetchselect column namedeptid length4/column /many-to-one property namesname typejava.lang.String column namesname length20/column /property /class /hibernate-mapping 请问一下这个bug怎么改Student中的deptid类型是String了设置器的类型也为String,。

广告位

热心评论

评论列表