我把pojo 类贴的不完整Acceptence.java继承的AbstractAcceptence.javaAbstractAcceptence.java
package com.plat.acc.dao;import java.util.HashSet;
import java.util.Set;import com.plat.receipt.dao.SynReceipt;/**
 * AbstractSynAcceptence entity provides the base persistence definition of the
 * SynAcceptence entity.
 * 
 * @author MyEclipse Persistence Tools
 */public abstract class AbstractAcceptence implements java.io.Serializable { // Fields private Integer id;
private String companyNo;
private Integer bankId;
private Integer factoryId;
private String iscomplete;
private String lasttimesstamp;
private String isstage;
private String re;
private Set<SynReceipt> synReceipt=new HashSet<SynReceipt>(0);
// Constructors /** default constructor */
public AbstractAcceptence() {
} /** minimal constructor */
public AbstractAcceptence(Integer id, String companyNo, Integer bankId,
Integer factoryId) {
this.id = id;
this.companyNo = companyNo;
this.bankId = bankId;
this.factoryId = factoryId;
} /** full constructor */
public AbstractAcceptence(Integer id, String companyNo, Integer bankId,
Integer factoryId, String iscomplete, String lasttimesstamp,
String isstage, String re) {
this.id = id;
this.companyNo = companyNo;
this.bankId = bankId;
this.factoryId = factoryId;
this.iscomplete = iscomplete;
this.lasttimesstamp = lasttimesstamp;
this.isstage = isstage;
this.re = re;
} // Property accessors public Integer getId() {
return this.id;
} public void setId(Integer id) {
this.id = id;
} public String getCompanyNo() {
return this.companyNo;
} public void setCompanyNo(String companyNo) {
this.companyNo = companyNo;
} public Integer getBankId() {
return this.bankId;
} public void setBankId(Integer bankId) {
this.bankId = bankId;
} public Integer getFactoryId() {
return this.factoryId;
} public void setFactoryId(Integer factoryId) {
this.factoryId = factoryId;
} public String getIscomplete() {
return this.iscomplete;
} public void setIscomplete(String iscomplete) {
this.iscomplete = iscomplete;
} public String getLasttimesstamp() {
return this.lasttimesstamp;
} public void setLasttimesstamp(String lasttimesstamp) {
this.lasttimesstamp = lasttimesstamp;
} public String getIsstage() {
return this.isstage;
} public void setIsstage(String isstage) {
this.isstage = isstage;
} public String getRe() {
return this.re;
} public void setRe(String re) {
this.re = re;
} public Set<SynReceipt> getSynReceipt() {
return synReceipt;
} public void setSynReceipt(Set<SynReceipt> synReceipt) {
this.synReceipt = synReceipt;
} }

解决方案 »

  1.   

    新发现 !
    我查了下资料
    import org.hibernate.collection.PersistentSet 是继承自java.util.Set我把pojo 的"多" 属性synReceipt 换成org.hibernate.collection.PersistentSet类型   在main()里测试就不报错了  数据也正确  谁能帮我看看怎么才能不用PersistentSet  ,用HashSet之类的java.util.*啊????
      

  2.   

    没发现问题,用java.util.set应该没问题,看看man里面是不是引入包引错了
      

  3.   

    你的测试类写的不对
    Set s=(HashSet)ad.findById(1).getSynReceipt();
    为什么要造型到HashSet,你能拿到Set接口就行了呀
    Hibernate自己实现了JDK中的集合接口,包括Map、Set、List等等,你只要根据接口编程就可以了,没必要造型到实现类
      

  4.   

    可能是转成HashSet的问题.
    HastSet只是实现了Set接口.和其他大部分Set并无什么直接关系的.
      

  5.   

    " java.lang.ClassCastException: org.hibernate.collection.PersistentSet 而且你这里也是转型错误.