Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate LazyInitializationException, не тянутся объекты 
:(
    Опции темы
megaproger
Дата 8.9.2006, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 25.7.2006
Где: Москва

Репутация: нет
Всего: нет



Здравствуйте, у меня следующая проблема:

Имеется класс:
Код

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;

Подскажите пожалуйста, что делать? или каким путем идти?
PM MAIL   Вверх
tux
Дата 8.9.2006, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Сложно сказать. Единственное место, где может вывалиться LazyInitializationException - это получение атрибута tree. Приведи полный код, в котором выбрасывается исключение. Так совершенно не понятно при чем здесь toString(), тем более ничего особого там нет. Еще бы не помешал Stack trace исключения пополнее.
PM MAIL Skype GTalk Jabber YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0758 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.