1

每当我尝试将 ireport 与 netbeans 中的休眠连接时,我都会收到错误消息“找不到组件类: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;
   }   


}
4

1 回答 1

0

该错误意味着您正在引用类路径中不存在的类。确保使用正确的包名和类名引用类。您的包裹名称对我来说似乎不标准。它应该是这样的

com.mycompany.whatever.Sustainability

所以请确保你不会错过那个。我还注意到在您粘贴的错误ProductionSavingId中,您显示的 hbm 的大小写不同。也许它的大小写不匹配。

于 2013-02-18T01:37:21.240 回答