我在休眠一对一映射项目中收到一个IllegalArgumentException

时间:2019-06-17 19:17:38

标签: java hibernate orm

我是新来的冬眠和冬眠映射的学习者,我已经创建了一个“一对一”冬眠映射的演示代码,根据我的理解,我已经正确定义了所有内容,但是我收到了“发生IllegalArgumentException发生了调用getter的事件”,我已经在hbm文件中正确定义了Mapping,我的POJO类完美地包含了getter和setter,但是我没有弄清楚我做错了什么,如果有人可以回答我的问题,那将是很好的。

这是我的Pojo类,其具有int idCompany变量,因此,我收到错误消息,因为“发生IllegalArgumentException调用com.dto.Company.idCompany的getter”。


public class Company {

    int idCompany;
    String name;
    String initials;
    String email;
    int contact;
    private Address add;

    public Address getAdd() {
        return this.add;
    }

    public void setAdd(Address add) {
        this.add = add;
    }

    public int getIdCompany() {
        return idCompany;
    }

    public void setIdCompany(int idCompany) {
        this.idCompany = idCompany;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getInitials() {
        return initials;
    }

    public void setInitials(String initials) {
        this.initials = initials;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getContact() {
        return contact;
    }

    public void setContact(int contact) {
        this.contact = contact;
    }

}

这是我公司的hbm文件


<class name="com.dto.Company" table="company">
<id name="idCompany" column="idCompany">
<generator class="assigned">
<param name="property">add</param>
</generator>
</id>
<property name="name" column="name"></property>
<property name="initials" column="initials"></property>
<property name="email" column="email"></property>
<property name="contact" column="contact"></property>
<one-to-one name="add" class="com.dto.Company" cascade="all" ></one-to-one>
</class>

</hibernate-mapping>

我正在保存这样的对象-

        address.setCountry("India");
        address.setDistrict("Barwani");
        address.setLine1("One Line");
        address.setLine2("Second Line");
        address.setPin(1234);
        address.setState("MP");

        company.setIdCompany(201);
        company.setContact(984545454);
        company.setEmail("ab@mail.com");
        company.setInitials("AB");
        company.setName("Amit");
        company.setAdd(address);

        Transaction transaction = session.beginTransaction();
        session.save(company);
        transaction.commit();
        session.close(); 

请向我描述为什么我遇到此问题,所以我将学习它,并且永远不要再发生此问题。 谢谢。 :)

0 个答案:

没有答案