Здравствуйте, у меня следующая проблема:
Имеется класс:
| Код | import java.io.Serializable; import java.util.Calendar;
import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder;
/** * @hibernate.class table="treewdate" */ public class TreeWDate implements Serializable {
/** * identifier field */ private Long id;
/** * nullable persistent field */ private String name;
/** * nullable persistent field */ private java.util.Calendar createdate;
/** * nullable persistent field */ private com.ics.kiosk.manager.dbkiosk.mapping.Tree tree;
/** * full constructor */ public TreeWDate(Long id, String name, Calendar createdate, Tree tree) { this.id = id; this.name = name; this.createdate = createdate; this.tree = tree; }
public TreeWDate(String name, Calendar createdate, Tree tree) { this.name = name; this.createdate = createdate; this.tree = tree; }
/** * default constructor */ public TreeWDate() { }
/** * minimal constructor */ public TreeWDate(Long id) { this.id = id; }
/** * @hibernate.id generator-class="assigned" * type="java.lang.Long" * column="id" */ public Long getId() { return this.id; }
public void setId(Long id) { this.id = id; }
/** * @hibernate.property column="name" * length="20" */ public String getName() { return this.name; }
public void setName(String name) { this.name = name; }
/** * @hibernate.property column="createdate" * length="2147483647" */ public Object getCreatedate() { return this.createdate; }
public void setCreatedate(Calendar createdate) { this.createdate = createdate; }
/** * @hibernate.many-to-one unique="true" * @hibernate.column name="treeid" */ public com.ics.kiosk.manager.dbkiosk.mapping.Tree getTree() { return this.tree; }
public void setTree(com.ics.kiosk.manager.dbkiosk.mapping.Tree tree) { this.tree = tree; }
public String toString() { return new ToStringBuilder(this) .append("id", getId()) .toString(); }
public boolean equals(Object other) { if (!(other instanceof TreeWDate)) return false; TreeWDate castOther = (TreeWDate) other; return new EqualsBuilder() .append(this.getId(), castOther.getId()) .isEquals(); }
public int hashCode() { return new HashCodeBuilder() .append(getId()) .toHashCode(); }
}
|
Имеется файл маппинга:
| Код | <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <hibernate-mapping> <!-- Created by the Middlegen Hibernate plugin 2.1
http://boss.bekk.no/boss/middlegen/ http://www.hibernate.org/ -->
<class name="com.ics.kiosk.manager.dbkiosk.mapping.TreeWDate" table="treewdate" > <meta attribute="class-description" inherit="false"> @hibernate.class table="treewdate" </meta>
<id name="id" type="java.lang.Long" column="id" > <meta attribute="field-description"> @hibernate.id generator-class="assigned" type="java.lang.Long" column="id"
</meta> <generator class="native" /> </id>
<property name="name" type="java.lang.String" column="name" length="20" > <meta attribute="field-description"> @hibernate.property column="name" length="20" </meta> </property> <property name="createdate" type="java.util.Calendar" column="createdate" length="2147483647" > <meta attribute="field-description"> @hibernate.property column="createdate" length="2147483647" </meta> </property>
<!-- Associations --> <!-- bi-directional one-to-one association to Tree --> <many-to-one name="tree" class="com.ics.kiosk.manager.dbkiosk.mapping.Tree" unique="true" > <meta attribute="field-description"> @hibernate.many-to-one unique="true" @hibernate.column name="treeid" </meta> <column name="treeid" /> </many-to-one>
</class> </hibernate-mapping>
|
Когда выполняешь запроса вида: List list=session.createQuery("from TreeWDate").list(); объекты Tree формируются пустыми и с Exception' ом :
Method threw 'org.hibernate.LazyInitializationException' exception.Failed to evaluate toString for this object;
Подскажите пожалуйста, что делать? или каким путем идти? |