Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка при обращение к сущности / 4 сообщений из 4, страница 1 из 1
02.09.2013, 22:54:13
    #38384762
UserQ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обращение к сущности
Ситуация следующая. Есть 2 сущности связанные между собой отношением 1 OneToMany.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
@Entity
@Table(name = "Question")
public class Question  implements Serializable{
	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int id;

	private String question;

	@OneToMany(mappedBy="question")
	private List<Answer> answers;



Когда в ней переопределяю метод toString() получаю ошибку.

авторorg.hibernate.lazyinitializationexception failed to lazily initialize a collection of role hibernate

Как можно это исправить?

Пробовал ставить EAGER инициализацию, не помогло, тоже ошибку выдаёт, другого плана.

авторorg.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.StackOverflowError

Код: java
1.
2.
@OneToMany( fetch= FetchType.EAGER,mappedBy="question")
	private List<Answer> answers;



А без метода toString(), не вывести данные из таблицы на страницу.

Использую Spring+Hibernate.


Пробовал такое решение, добавить в web.xml, выдаёт ошибку как при EAGER

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  
<filter>
        <filter-name>OpenSessionInViewFilter</filter-name>
        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>OpenSessionInViewFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>



Если какие ещё данные нужны сообщу.
...
Рейтинг: 0 / 0
03.09.2013, 11:22:58
    #38385144
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обращение к сущности
UserQ,
можно тустринг посмотреть? может он сам себя вызывает случайно
...
Рейтинг: 0 / 0
03.09.2013, 12:23:23
    #38385252
UserQ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обращение к сущности
Код: java
1.
2.
3.
4.
@Override
	public String toString() {
		return "Question [id=" + id + ", question=" + question + ", answers="+ answers + "]";
	}



Обычный, автоматически сгенерированный Eclipse.

Тут дело как понял в Hibernate, из постов на SO. Ноте решения что там были мне не помогло.
...
Рейтинг: 0 / 0
03.09.2013, 23:03:26
    #38386010
UserQ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при обращение к сущности
Проблема заключалось в том что я делал выборку из одной сущности которая была связан со второй, которая в свою очередь с первой. В результате получалась петля.

Первое решение которое было это убрать из Answer в методе toString answers="+ answers +.

Второй вариант делать запрос с использованием JOIN, правда у меня тут другая проблема с ним возникла, вместо значений возвращаются ссылки.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка при обращение к сущности / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]