@jvmchat

Страница 568 из 2890
Pavel
15.09.2016
15:13:33
ну я и говорю, я у себя с параметрами jvm не игрался

Митко Соловец?
15.09.2016
15:13:49
мы точно про разные вещи говорим

я имею в виду параметры запроса

по сколько записей выбираешь?

Google
Pavel
15.09.2016
15:14:07
а, обычно по 10

но иногда надо мнннноооооооооога

Igor
15.09.2016
15:14:33
сделай вьюшку

и из неё доставай

Митко Соловец?
15.09.2016
15:14:55
у тебя самописный джойн чтоле в коде?

ты достаешь все айдишки по запросу

а потом их подставляешь

Pavel
15.09.2016
15:15:17
угу

Митко Соловец?
15.09.2016
15:15:21
плюс, если ты сказал, что 10 записей

то обратное условие меньше 30к не выполнится же

Pavel
15.09.2016
15:15:33
я пытаюсь вспомнить, зачем я этот костыль прикрутил))

Митко Соловец?
15.09.2016
15:15:59
мешанина из hql и criteria

надо к чему-то одному привести

Google
Pavel
15.09.2016
15:16:04
а то ж

Митко Соловец?
15.09.2016
15:16:34
для админа

java heap space

все

увидел ошибку

Pavel
15.09.2016
15:18:31
трололо, серьезно

мне вообще не нравится, что я вместо данных для таблицы

вытягиваю вообще всю сущность

а не только требуемые поля

Митко Соловец?
15.09.2016
15:20:08
т.е. смотри

ты вытягиваешь50к записей

а потом по ним предполагается навигация?

Pavel
15.09.2016
15:20:47
угу

Митко Соловец?
15.09.2016
15:20:54
ну это не пэйджинация

но дело ваше

Pavel
15.09.2016
15:21:04
да есть она там

Митко Соловец?
15.09.2016
15:21:11
интернет советует heap size увеличить

и все будет нормально

Pavel
15.09.2016
15:21:19
да я на heap не жалуюсь))

Митко Соловец?
15.09.2016
15:21:29
но ошибка вылетает)

Google
Pavel
15.09.2016
15:21:32
надо все таки нормальный тест сделать и показать что не так

Митко Соловец?
15.09.2016
15:21:34
и она гуглится

Pavel
15.09.2016
15:21:39
хип увеличить и ошибка пропадет)

на проде всяко больше рам

Митко Соловец?
15.09.2016
15:21:53
ну раз ты вытягиваешь столько объектов

то чему удивляться)

пэйджинация в моём понимании порционно достает сразу объекты страницы

Pavel
15.09.2016
15:22:37
она так и делает

Митко Соловец?
15.09.2016
15:22:47
50000?)

Pavel
15.09.2016
15:22:57
50к это я играюсь чтоб багу найти)

точнее проверить что все норм

а суть в другом

Митко Соловец?
15.09.2016
15:23:06
так у тебя на 50к все валится?)

Pavel
15.09.2016
15:23:24
да ничего на 50к уже не валится;)

суть в другом - из-за джоинов которые нужны на какой-то странице пейджер не правильно работал

потому что использовать distinct_root_entity

*использовался

и ты говорил покажи 10 результатов - а он выводил например только 4

именно для этого я сперва получаю id, а потом делаю запрос на них

вот именно этот костыль мне и не нравится =)

Google
Митко Соловец?
15.09.2016
15:25:18
в общем, без вкуривания в проект тут никак)

Pavel
15.09.2016
15:25:26
да не в проекте дело)

Митко Соловец?
15.09.2016
15:25:28
у меня немного иное представление о пэйджинации

ну я не понимаю смысла брать айди первым запросом

а потом еще что-то с ними делать

Pavel
15.09.2016
15:26:12
http://stackoverflow.com/questions/11038234/pagination-with-hibernate-criteria-and-distinct-root-entity

Admin
ERROR: S client not available

Pavel
15.09.2016
15:26:15
вот например

ну я не понимаю смысла брать айди первым запросом
педжинация как раз первым запросом и идет

Suppose you have 4 A entities, each with 3 B entities, and suppose your query retrieves all the A entities with their Bs. In that case, the SQL query will return 12 rows. If you use setMaxResults(7), it will retrieve (for example) three rows for A1 and its Bs, three rows for A2 and its Bs, and just 1 row for A3 and its first B. And since you have used DISTINCT_ROOT_ENTITY, the criteria query will return only three entities: A1, A2, and A3 (which will have an incomplete set of Bs). вот это я и лечу)

не используя distinct root entity, а получая distinct id

а потом по ним делаю запрос в бд

мне это дико не нравится

но пока работает

Митко Соловец?
15.09.2016
15:29:39
я ничего не понял по коду

из-за португальского

и не увидел по ссылке два запроса, там как-то одним обходятся

Pavel
15.09.2016
15:30:35
ну я скорее указал на проблему

Митко Соловец?
15.09.2016
15:31:05
FetchMode.SELECT а это пробовал?

Pavel
15.09.2016
15:31:27
неа

Google
Pavel
15.09.2016
15:31:34
на самом деле скорее всего это то что нужно;)

Ivan
15.09.2016
19:49:46
Народ есть опытные юзеры Hibernate? Есть несколько вопросов которые я за период пользования так и не решил.

Pavel
15.09.2016
19:55:42
хз опытный или нет

хибер уже лет 5 юзаю)

луче задать вопрос

Ivan
15.09.2016
20:02:10
Первая проблема: Autoflush проливает данные в БД когда не нужно, поэтому нужно делать detach либо отключать автофлаш, как вы это решаете и есть ли такая же проблема?

Митко Соловец?
15.09.2016
20:02:41
как ты управляешь транзакциями?

Ivan
15.09.2016
20:03:22
@Transactional на методе, уровень изоляции по умолчанию в БД

Митко Соловец?
15.09.2016
20:03:26
обычно принято сливать базу по окончании работы метода - транзакцию на метод вешает аннотация @Transactional

Ivan
15.09.2016
20:03:42
это все ясно но если не роллбекать транзакцию то данные туда попадут когда не надо

Autoflush заливает данные когда выполняется любой SELECT(или когда Hibernate сам захочет)

сейчас просто делаю detach и в конце транзакции заливаю явно сущность(в моем случае это .save на Spring JPA репозитории

Митко Соловец?
15.09.2016
20:05:20
ну попробуй повесить транзакции read only

или аннотацию на метод повыше вынести, который агрегирует работу нескольких методов

без исходного кодя тяжеловато конечно сказать

Ivan
15.09.2016
20:12:40
я чуть позже скину код

посмотришь

Вторая проблема чуть сложнее: Мы используем Spring + Hibernate и у нас есть класс(выдержка из класса) class Project { @Valid @OneToOne(cascade = CascadeType.ALL, fetch = EAGER) @Column(name = "details_id") private ProjectDetails details; } И если изменить fetch = EAGER на fetch = LAZY @Valid перестает работать, сталкивались?

Митко Соловец?
15.09.2016
20:17:03
не сталкивались, но поведение в целом понятно

Страница 568 из 2890