2013-02-17 54 views
1

每当我尝试在netbeans中使用hibernate连接ireport时,我收到错误“未找到组件类:Sustainability.ProductionSavingId”。当我运行它时,程序没有显示任何错误,但是当我尝试使用休眠将ireport连接到数据库时,它会引发错误。我已经添加了所需的类路径和jar文件。未找到组件类休眠

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<!-- Generated Feb 1, 2013 7:21:28 PM by Hibernate Tools 3.2.1.GA --> 
<hibernate-mapping> 
    <class name="Sustainability.Productionsaving" table="productionsaving"       catalog="gdp"> 
     <composite-id name="id" class="Sustainability.ProductionsavingId"> 
      <key-property name="categoryName" type="string"> 
       <column name="CategoryName" length="25" /> 
      </key-property> 
      <key-property name="date" type="timestamp"> 
       <column name="Date" length="19" /> 
      </key-property> 
     </composite-id> 
     <many-to-one name="users" class="Sustainability.Users" fetch="select"> 
      <column name="Username" length="20" /> 
     </many-to-one> 
     <many-to-one name="category" class="Sustainability.Category" update="false" insert="false" fetch="select"> 
      <column name="CategoryName" length="25" not-null="true" /> 
     </many-to-one> 
     <property name="savingAmount" type="java.lang.Double"> 
      <column name="SavingAmount" precision="22" scale="0" /> 
     </property> 
     <property name="quantity" type="java.lang.Double"> 
      <column name="Quantity" precision="22" scale="0" /> 
     </property> 
     <property name="unit" type="string"> 
      <column name="Unit" length="5" /> 
     </property> 
    </class> 
</hibernate-mapping> 



<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<!-- Generated Feb 1, 2013 7:21:28 PM by Hibernate Tools 3.2.1.GA --> 
<hibernate-mapping> 
    <class name="Sustainability.Productionsaving" table="productionsaving"       catalog="gdp"> 
     <composite-id name="id" class="Sustainability.ProductionsavingId"> 
      <key-property name="categoryName" type="string"> 
       <column name="CategoryName" length="25" /> 
      </key-property> 
      <key-property name="date" type="timestamp"> 
       <column name="Date" length="19" /> 
      </key-property> 
     </composite-id> 
     <many-to-one name="users" class="Sustainability.Users" fetch="select"> 
      <column name="Username" length="20" /> 
     </many-to-one> 
     <many-to-one name="category" class="Sustainability.Category" update="false" insert="false" fetch="select"> 
      <column name="CategoryName" length="25" not-null="true" /> 
     </many-to-one> 
     <property name="savingAmount" type="java.lang.Double"> 
      <column name="SavingAmount" precision="22" scale="0" /> 
     </property> 
     <property name="quantity" type="java.lang.Double"> 
      <column name="Quantity" precision="22" scale="0" /> 
     </property> 
     <property name="unit" type="string"> 
      <column name="Unit" length="5" /> 
     </property> 
    </class> 
</hibernate-mapping> 






/** 
* Productionsaving generated by hbm2java 
*/ 
public class Productionsaving implements java.io.Serializable { 


    private ProductionsavingId id; 
    private Users users; 
    private Category category; 
    private Double savingAmount; 
    private Double quantity; 
    private String unit; 

    public Productionsaving() { 
    } 


    public Productionsaving(ProductionsavingId id, Category category) { 
     this.id = id; 
     this.category = category; 
    } 
    public Productionsaving(ProductionsavingId id, Users users, Category category, Double savingAmount, Double quantity, String unit) { 
     this.id = id; 
     this.users = users; 
     this.category = category; 
     this.savingAmount = savingAmount; 
     this.quantity = quantity; 
     this.unit = unit; 
    } 

    public ProductionsavingId getId() { 
     return this.id; 
    } 

    public void setId(ProductionsavingId id) { 
     this.id = id; 
    } 
    public Users getUsers() { 
     return this.users; 
    } 

    public void setUsers(Users users) { 
     this.users = users; 
    } 
    public Category getCategory() { 
     return this.category; 
    } 

    public void setCategory(Category category) { 
     this.category = category; 
    } 
    public Double getSavingAmount() { 
     return this.savingAmount; 
    } 

    public void setSavingAmount(Double savingAmount) { 
     this.savingAmount = savingAmount; 
    } 
    public Double getQuantity() { 
     return this.quantity; 
    } 

    public void setQuantity(Double quantity) { 
     this.quantity = quantity; 
    } 
    public String getUnit() { 
     return this.unit; 
    } 

    public void setUnit(String unit) { 
     this.unit = unit; 
    } 
} 


    import java.util.Date; 

/** 
* ProductionsavingId generated by hbm2java 
*/ 
public class ProductionsavingId implements java.io.Serializable { 


    private String categoryName; 
    private Date date; 

    public ProductionsavingId() { 
    } 

    public ProductionsavingId(String categoryName, Date date) { 
     this.categoryName = categoryName; 
     this.date = date; 
    } 

    public String getCategoryName() { 
     return this.categoryName; 
    } 

    public void setCategoryName(String categoryName) { 
     this.categoryName = categoryName; 
    } 
    public Date getDate() { 
     return this.date; 
    } 

    public void setDate(Date date) { 
     this.date = date; 
    } 


    public boolean equals(Object other) { 
     if ((this == other)) return true; 
     if ((other == null)) return false; 
     if (!(other instanceof ProductionsavingId)) return false; 
     ProductionsavingId castOther = (ProductionsavingId) other; 

     return ((this.getCategoryName()==castOther.getCategoryName()) || (this.getCategoryName()!=null && castOther.getCategoryName()!=null && this.getCategoryName().equals(castOther.getCategoryName()))) 
&& ((this.getDate()==castOther.getDate()) || (this.getDate()!=null && castOther.getDate()!=null && this.getDate().equals(castOther.getDate()))); 
    } 

    public int hashCode() { 
     int result = 17; 

     result = 37 * result + (getCategoryName() == null ? 0 : this.getCategoryName().hashCode()); 
     result = 37 * result + (getDate() == null ? 0 : this.getDate().hashCode()); 
     return result; 
    } 


} 

回答

0

该错误表示您引用的类不存在于类路径中。确保你引用了正确的包名和类名。你的包名对我来说似乎不是标准。它应该像

com.mycompany.whatever.Sustainability

所以一定要确保你不会错过那一个。另外我注意到在你粘贴的错误中,ProductionSavingId的外壳在你所显示的hbm中不一样。也许它的区分大小写不匹配。