Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Базы данных (JDBC, JPA, Hibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2017, 15:36   #1
Serg.H
Новичок
Джуниор
 
Регистрация: 13.04.2017
Сообщений: 6
По умолчанию JAVA Hibernate The problem with the query to the tables is through OneToMany

У меня есть две таблицы t_user и t_photo связанные один ко многим.
Когда я делаю запрос по user_id который в таблице t_photo только один, программа мне возвращает несколько тысяч одной и той же записи.
Думаю проблема с настройкой hibernate.
Может кто сталкивался с подобной проблемой?
I have two tables t_user and t_photo that are linked by OneToMany.
I make an id request to t_user.
In t_photo there is only one entry with this user_id.
The program returns to me several thousand records, but the record is the same.
//MY Request
Код:
@RequestMapping(value= "/api/getuser.json", method = RequestMethod.POST)
@ResponseBody
public TUserEntity GetUser(@RequestBody TUserEntity[] test){
Session session = HibernateSessionFactory.getSessionFactory().openSession();
TUserEntity user = session.load(TUserEntity.class,27);
session.close();
return user;
}
//class TUserEntity
Код:
@OneToMany(fetch = FetchType.LAZY, mappedBy = "tUserByUserId", cascade = CascadeType.ALL)
public Collection<TPhotoEntity> gettPhotosByUserId() {
return tPhotosByUserId;
}
//class TPhotoEntity
Код:
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "user_id",insertable = false, updatable = false)
public TUserEntity gettUserByUserId() {
return tUserByUserId;
}

Последний раз редактировалось Serg.H; 13.04.2017 в 15:47.
Serg.H вне форума Ответить с цитированием
Старый 13.04.2017, 15:52   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Serg.H Посмотреть сообщение
The program returns to me several thousand records, but the record is the same.
What do you mean? In this code you are querying just one record (by id, 27).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.04.2017, 16:07   #3
Serg.H
Новичок
Джуниор
 
Регистрация: 13.04.2017
Сообщений: 6
По умолчанию

27 is user_id which is also in the linked table t_photo
Можем общаться на русском если удобно вам?

Последний раз редактировалось Serg.H; 13.04.2017 в 16:14.
Serg.H вне форума Ответить с цитированием
Старый 13.04.2017, 16:36   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так хоть на каком-нибудь языке объясните в чем у вас проблема )

В GetUser не может быть "несколько тысяч одной и той же записи", вы ж только одну возвращаете. Где вы увидели их?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.04.2017, 16:45   #5
Serg.H
Новичок
Джуниор
 
Регистрация: 13.04.2017
Сообщений: 6
По умолчанию

Спасибо что откликнулись.
у меня две таблицы user и photo этого user- а связаны один ко многим через user_id.
Я делаю запрос загрузить мне в class User например по id 2.
В таблице Photo есть всего одна запись с данным id.
тоесть он мне должебн загрузить в class user одного user с Collection <Photo> в котором должна быть всего одна запись.
когда я делаю запрос он мне возвращает следующее: (не буду копировать все что он возвращает поскольку таких строк несколько тысяч)
{"userId":2,"username":null,"passwo rd":"155150","fName":"Seroj2","pNam e":null,"email":null,"lName":null," tPhotosByUserId":[{"photoId":3,"userId":2,"photolink" :"/2/1.jpg","tUserByUserId":{"userId":2, "username":null,"password":"155150" ,"fName":"Seroj2","pName":null,"ema il":null,"lName":null,"tPhotosByUse rId":[{"photoId":3,"userId":2,"photolink" :"/2/1.jpg","tUserByUserId":{"userId":2, "username":null,"password":"155150" ,"fName":"Seroj2","pName":null,"ema il":null,"lName":null,"tPhotosByUse rId":[{"photoId":3,"userId":2,"photolink" :"/2/1.jpg","tUserByUserId":{"userId":2, "username":null,"password":"155150" ,"fName":"Seroj2","pName":null,"ema il":null,"lName":null,"tPhotosByUse rId":[{"photoId":3,"userId":2,"photolink" :"/2/1.jpg","tUserByUserId":{"userId":2, "username":null,"password":"155150" ,"fName":"Seroj2","pName":null,"ema il":null,"lName":null,"tPhotosByUse rId":[{"photoId":3,"userId":2,"photolink" :"/2/1.jpg","tUserByUserId":{"userId":2, "username":null,"password":"155150" ,"fName":"Seroj2","pName":null,"ema il":null,"lName":null,"tPhotosByUse rId":[{"photoId":3,"userId":2,"photolink" :"/2/1.jpg","tUserByUserId":{"userId":2, "username":null,"password":"155150" ,"fName":"Seroj2","pName":null,"ema il":null,"lName":null,"tPhotosByUse rId":[{"photoId":3,"userId":2,"photolink" :"/2/1.jpg","tUserByUserId":{"userId":2, "username":null,"password":"155150" ,"fName":"Seroj2","pName":null,"ema il":null,"lName":null,"tPhotosByUse rId":[{"photoId":3,"userId":2,"photolink" :"/2/1.jpg","tUserByUserId":
Serg.H вне форума Ответить с цитированием
Старый 13.04.2017, 16:54   #6
Serg.H
Новичок
Джуниор
 
Регистрация: 13.04.2017
Сообщений: 6
По умолчанию

Думаю он впадает в бесконечный цыкл.
Поскольку в классе user есть переменная photo, а в классе photo есть переменная user
думаю тут проблема настройки Hibernate а , но найти не могу что там не так написал или недописал.
Serg.H вне форума Ответить с цитированием
Старый 13.04.2017, 17:06   #7
Serg.H
Новичок
Джуниор
 
Регистрация: 13.04.2017
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так хоть на каком-нибудь языке объясните в чем у вас проблема )

В GetUser не может быть "несколько тысяч одной и той же записи", вы ж только одну возвращаете. Где вы увидели их?
Я делаю запрос через postman on мне возвращает User в формате JSON
Если в таблице Photo нету записей с данным user_id, он мне возвращает всего одну запись с User.
А если есть то возвращает что я написал выше
Если надо могу скопировать оба класса и будет яснее.

Последний раз редактировалось Serg.H; 13.04.2017 в 17:18.
Serg.H вне форума Ответить с цитированием
Старый 13.04.2017, 17:19   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А первые несколько ссылок в гугле по "hibernate json infinite recursion" не помогли?
http://stackoverflow.com/questions/9...nite-recursion
http://keenformatics.blogspot.com/20...recursion.html
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.04.2017, 17:25   #9
Serg.H
Новичок
Джуниор
 
Регистрация: 13.04.2017
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А первые несколько ссылок в гугле по "hibernate json infinite recursion" не помогли?
http://stackoverflow.com/questions/9...nite-recursion
http://keenformatics.blogspot.com/20...recursion.html
Пока не помогло ничего ,я уже многое перепробывал прежде чем на форум залезть
Но сейчас посмотрю и ваши ссылки.
Большое Спасибо что уделили время.
Serg.H вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Postfix problem(Python,Java,C#) Rita21 Помощь студентам 0 06.12.2015 08:28
Could not allocate ancillary table for view or function resolution. The maximum number of tables in a query (260) was exceeded. Swatch SQL, базы данных 2 19.12.2014 07:48
Java+firebird+hibernate NadS Java Базы данных (JDBC, JPA, Hibernate) 0 16.12.2012 13:40
Hibernate. Java. Загрузить список только из одного поля таблицы KBI Java Базы данных (JDBC, JPA, Hibernate) 1 26.07.2012 19:32
java:hibernate + spring Jakethefish Java Базы данных (JDBC, JPA, Hibernate) 0 08.06.2010 12:55