@jvmchat

Страница 1296 из 2890
Roman
27.03.2017
10:12:46
короче надо больше деталей. секунду, опишу уже ровным подчерком

Митко Соловец?
27.03.2017
10:12:57
http://stackoverflow.com/questions/18423019/how-to-enable-load-time-runtime-weaving-with-hibernate-jpa-and-spring-framewor

Pavel
27.03.2017
10:13:17
Вообще тут все просто - создаешь свою SessionFactory в runtime и все

Митко Соловец?
27.03.2017
10:13:24
А бизнес-кейс какой?

Google
Митко Соловец?
27.03.2017
10:14:00
Вообще тут все просто - создаешь свою SessionFactory в runtime и все
новые классы должны энхэнс пройти в рантайме

Ivan
27.03.2017
10:15:47
как вообще потом работать с динамически подсосанными классами, через рефлексию, интерфейсы?

я имею ввиду как с моделями

Roman
27.03.2017
10:19:45
еще раз опишу проблему: Есть некий расширяемый механизм, который делает следующие вещи: 1. берет сущности из одной таблицы 2. записывает сущности в другую таблицу 3. как то обрабатывает данные по факту, можно считать, что это некий отчет. в системе есть папка(не в класс пасе), в которую пользователи могут закидывать свои реализации отчетов. теперь проблема: пользователь описал свою сущность - все аннотировал как надо, закинул джарник в папочку отчетов и все развалилось, так как сущность описанная пользователем не известна хибернейту.

Митко Соловец?
27.03.2017
10:20:30
у вас юзеры в качестве описания отчетов используют джаву?)

т.е. вот БА взял и написал на джаве класс и скомпилировал

норм так

Pavel
27.03.2017
10:21:09
Ну да, не проще ли на предикатах подготовить конструктор отчетов?

Roman
27.03.2017
10:21:13
это не конечные юзеры и речь не совсем об отчетах, так проще объяснять. NDA и прочая чушь

Митко Соловец?
27.03.2017
10:21:40
окей. Роман, в любом случае. моё скромное мнение - вы решаете проблему не с того угла, поэтому так сложно

у хибера есть энхэнс плагин

с помощью него вся магия и происходит

Roman
27.03.2017
10:24:07
вейт э сек, на сколько я тут читаю эта штука нужна для дэзи лоада, а у меня немного другой кейс

Google
Митко Соловец?
27.03.2017
10:24:44
ну тебе в рантайме обычные классы надо превратить в хиберовские

это то, что я понял

Roman
27.03.2017
10:25:05
классы аннотированы как надо, все сделано

Ruslan
27.03.2017
10:25:15
Опять понаехали
Я читатль. Морозить глупые вопросы еще готов, а так добавил и буду переодически почитывать, что в этом плохого? ДА и правила тут суровые =)

Ivan
27.03.2017
10:25:44
зачем вообще в эту схему засовывать Hibernate, тут надо что-то специфичное сделать для конкретной проблемы

на Jdbc

Roman
27.03.2017
10:25:59
мы уже сделали, но мне не нравится

не нравится, потому что пришлось что то делать. и не консистенси относительно всего остального

то есть часть проекта вся такая хибернейт

а другая часть суровый jdbctemplate

все, что я по этому поводу думаю wut?

не уж то нельзя натровить хибернейт на сущности, а он уж там как нибудь сам?

оказалось, это как то непонятно и сложно

для лазалки в БД он какой то слишком умный(

Ivan
27.03.2017
10:27:39
я не понимаю причин не любить jdbc

в сто раз проще и понятнее чем Hibernate

Snow
27.03.2017
10:28:11
с препаред стайтмент главное не закрывать коннекшены. чтобы субд не перестраивала планы исполнения

Roman
27.03.2017
10:28:13
я люблю jdbc, но большая часть проекта сделана с хтибернейтом, не консистенси плохо, так как заставляет дублировать функциональные части в лучшем случае

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

Google
Ivan
27.03.2017
10:28:44
который сам разрулит

Snow
27.03.2017
10:30:50
но это не точно что разрулит

Ivan
27.03.2017
10:31:03
как раз если ты сам управляешь соединениями все плохо

Snow
27.03.2017
10:31:27
как отработает драйвер при изменении параметров запроса? может он вынубит субд перестроить план

Ivan
27.03.2017
10:31:29
а пул сам в курсе когда закрыть соединение, когда открыть новое

Snow
27.03.2017
10:31:30
это надо тестировать

Ivan
27.03.2017
10:32:07
как отработает драйвер при изменении параметров запроса? может он вынубит субд перестроить план
да и что? есть миллион других проблем из за которых запросы будут работать медленно, и перекомпиляция запроса не самое плохое

я люблю jdbc, но большая часть проекта сделана с хтибернейтом, не консистенси плохо, так как заставляет дублировать функциональные части в лучшем случае
я скажу так, если у вас много дублирования кода, то конечно думайте как бы все обобщить, перевести на Hibernate или на Jdbc, но в целом Hibernate и JPA склонны крайне усложнять код в сложны системах, где много связей между таблицами, где много JOIN в запросах, и вот тут с Hibernate начинается боль

Roman
27.03.2017
10:34:13
ну вообщем так все и случилось)

Митко Соловец?
27.03.2017
10:34:25
это все хорошие разговоры, но у чувака конкретная проблема, надо думать

Roman
27.03.2017
10:34:57
да не, мы ее jdbc забороли, просто мне интересно, можно ли было поступить иначе)

Митко Соловец?
27.03.2017
10:35:26
т.е. вы её решили уже?

S
27.03.2017
10:36:07
А просто HQL/SQL запросы никак?

Snow
27.03.2017
10:36:08
можно. использовать другой подход для формирвоания отчетов

Roman
27.03.2017
10:36:15
да, но мне не нравится контраст решения с остальным проектом, поэтому хожу и дергаю всех с вопросами. это не сиюминутная проблема.

S
27.03.2017
10:36:47
А какие другие решения?

Roman
27.03.2017
10:36:48
ну jdbc ~= sql

Pavel
27.03.2017
10:37:08
JDBCTemplate == spring

S
27.03.2017
10:37:52
В смысле какой контраст с какими еще другими решениями? Что за проект хоть?

Google
Митко Соловец?
27.03.2017
10:38:17
S
27.03.2017
10:39:06
А hibernate как вы используете? Criteria API, HibernateTemplate, JPA NamedQUery, Spring Data JPA?

Roman
27.03.2017
10:39:41
Criteria API +, JPA NamedQuery +, остально фиг знает)

S
27.03.2017
10:41:06
Ну вот HQL, Spring Expression и Groovy скрипты

Yura
27.03.2017
11:51:18
Всем привет. Сейчас смотрю на один код. Суть такая: есть список определённых эелементов и для него делается stream().forEach(...) а имеет ли вообще это смысл, если можно в данном конкретном случае сделать for(MyClass: cls: list() { ...}?

sss3 ?
27.03.2017
11:52:20
если между stream().forEach() - вообще ничего нет

за такое руки обрывать надо

Admin
ERROR: S client not available

Anton
27.03.2017
11:52:37
разницы нет

Alexander
27.03.2017
11:52:41
Удобно, если в форич передается референс на метод

Anton
27.03.2017
11:52:45
руки то обрывать необязательно

Митко Соловец?
27.03.2017
11:53:04
и он развернется в обычный форич

Yura
27.03.2017
11:54:37
нет, между ничего нет, внутри ничего сверхествеественного - в мапу часть данных из листов раскидываются

James Tiberius Kirk ?
27.03.2017
12:00:49
Нельзя вызывать стрим только ради форича

James Tiberius Kirk ?
27.03.2017
12:01:22
можно конечно

Митко Соловец?
27.03.2017
12:01:25
почему?
100% он не объяснит

James Tiberius Kirk ?
27.03.2017
12:01:25
но не красиво

Google
James Tiberius Kirk ?
27.03.2017
12:01:36
потому что создание стрима намного более затратно

чем простой вызов лупа

guga
27.03.2017
12:01:57
ну forEach если у всех и без стрима

James Tiberius Kirk ?
27.03.2017
12:02:02
forEach() у коллекции и у стрима — разные внутри, у коллекции там просто луп

guga
27.03.2017
12:02:13
а у стрима?

James Tiberius Kirk ?
27.03.2017
12:02:50
а у стрима миллион проверок с кучей абстракций

guga
27.03.2017
12:03:19
ну ты перегибаешь

sss3 ?
27.03.2017
12:03:25
да хотя бы то что мы создаём объект

а он нам и не нужен

guga
27.03.2017
12:03:32
там всего лишь форич у сплитератора вызывается

Alexander
27.03.2017
12:03:53
Митко Соловец?
27.03.2017
12:03:55
но экономия на спичках

guga
27.03.2017
12:04:03
с проверкой parallel \ not parallel

sss3 ?
27.03.2017
12:04:22
Экономия на спичках
но это ведь не какая то сложная оптимизация

James Tiberius Kirk ?
27.03.2017
12:04:25
ну понятное дело что в продакшене никто разницы не увидит между стримовским форичем и обычным

sss3 ?
27.03.2017
12:04:28
тип почему не следовать этому правилу

Alexander
27.03.2017
12:04:51
Очень удобно, если нужно вызвать какой-то метод для каждого элемента. Передаешь референс и все.

Evgeniy
27.03.2017
12:04:57
идея предлагает убрать из такой конструкции stream()

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