@jvmchat

Страница 2803 из 2890
Andrey
15.09.2018
21:16:59
сейчас... подожди 5 мин, напишу.

--classpath . . - что из текущей директории Проверь как параметр правильно называется ниче не понял)
Подожди... так ты при запуске имя пакета не указал. Попробуй java -classpath . com.pavel.HelloWorld

удали package com.pavel; в исходном файле, потом выполни: javac HelloWorld.java java HelloWorld все работает

-classpath не нужен в этом случае

Google
Andrey
15.09.2018
21:22:16
файл при этом должен лежать в текущей директории

Павел
15.09.2018
21:25:55
Я в идеи создал проект. Потом тупо скопировал в папку идя по примеру с хабра. А пакет остался

Andrey
15.09.2018
21:31:39
Вот я тупанул походу) спасибо все работает!
Отлично. Только имей в виду, что так никто не делает. Используй maven для сборки.

Dmitry
15.09.2018
21:39:15
а подскажите плз по логике работы с хибернейтом вот я вытащил из хибернейта модель доменного объекта, смаппил её на доменный объект. положил этот доменный объект в список по прошествии времени я хочу обновить этот объект (поменять какое-то поле) как это правильно сделать? поменять поле и скормить хибернейту? а вдруг из-за какой-то ошибки в этом объекте поменялось что-то ещё и это сохранение затрёт что-то в базе

Nikolay
15.09.2018
21:47:05
однако, если базу кто-то извне трогает, не через твой же хибер (пусть это будет твоя вторая нода), то твой хибер упадёт с криком "я не шмагла, хозяин!"

Google
Alexey
15.09.2018
21:47:05
Nikolay
15.09.2018
21:47:17
кажется, StaleStateException это называется.

Dmitry
15.09.2018
21:47:54
вы слишком глубоко в хибер влезли. вопрос над ним. он-то сохранит то, что я ему скормлю, это не в этом вопрос

Nikolay
15.09.2018
21:47:55
там есть хибер-шаманство в стиле merge и refresh, но я без доки не помню деталей.

"а вдруг из-за какой-то ошибки в этом объекте поменялось что-то ещё и это сохранение затрёт что-то в базе" нет, не затрёт. упадёт нахуй, но не затрёт.

Dmitry
15.09.2018
21:48:34
нене, из-за ошибки в базе оно по транзакции откатит

Nikolay
15.09.2018
21:48:39
или ты про изменение в объекте в твоем же коде?

Nikolay
15.09.2018
21:49:03
да, про него
тогда ты сам себе злобный буратино

если ты изменил объект и пытаешься его сохранить - сохранятся все изменения (опустим нюансы)

Dmitry
15.09.2018
21:49:48
объект A в котором есть поля foo и bar объект живёт долго. я хочу изменить в нём foo и сохранить. но вдруг где-то случайно ссзб и изменил bar, при сохранении bar тоже сохранится

а как бороть? перед сохранением вытаскивать объект из ОРМ, сохранять и обновлять текущий инстанс объекта?

Nikolay
15.09.2018
21:50:58
ну

только пластическая хирургия



Dmitry
15.09.2018
21:51:49
ну почему, просто лишняя перестраховка. менять не всё, а только то, что нужно

Google
Nikolay
15.09.2018
21:52:14
тогда у тебя это уже не объект, эквивалентный тому, что у тебя в базе, а просто value object

Dmitry
15.09.2018
21:52:17
это же потенциальное место, где можно в ногу выстрелить

Митко Соловец?
15.09.2018
21:52:39
Плюс, можно принудительно запретить обновлять вложенные сущности

Dmitry
15.09.2018
21:52:42
Nikolay
15.09.2018
21:52:42
а изменения ты отдельно применяешь "на базу" через "вытащил, проапдейтил только в нужных местах, залил обратно"

Митко Соловец?
15.09.2018
21:52:53
updatable=false

Nikolay
15.09.2018
21:53:02
м.

сорян, мне дальше скучно

Dmitry
15.09.2018
21:53:20
Плюс, можно принудительно запретить обновлять вложенные сущности
а я хочу обновить одну вложенную сущность, не трогая ничего более

Nikolay
15.09.2018
21:53:43
это же потенциальное место, где можно в ногу выстрелить
весь хибер - это пистолет в жопе и все двадцать пальцев на курке

Митко Соловец?
15.09.2018
21:54:01
Nikolay
15.09.2018
21:54:25
как бороть - послать хибер в жопу

потому что ты не используешь его плюсы с таким подходом

Dmitry
15.09.2018
21:55:07
почему? туда-сюда мапится же

Митко Соловец?
15.09.2018
21:55:11
Да у меня вообще чувство, что чувак уже не может много недель сесть и прочитать доку

А бомбит чат вопросами начального уровня

Nikolay
15.09.2018
21:55:37
запилить всё на jooq или ibatis и не трахать себе мозг

А бомбит чат вопросами начального уровня
я последнее время читаю по диагонали, поэтому может пропустил

предлагаю профилактически банить на недельку со ссылкой на джавастарт :)

Google
Dmitry
15.09.2018
21:56:12
а… перепутал чатик у меня этих док скопилось на несколько месяцев вдумчивого чтения

Митко Соловец?
15.09.2018
21:56:43
запилить всё на jooq или ibatis и не трахать себе мозг
Май батис никому не буду более рекомендовать

Nikolay
15.09.2018
21:58:51
On May 21, 2010 the development team forked the code creating a new project called MyBatis and making new releases there. As a consequence the Apache iBATIS project became inactive and was moved to the Apache Attic in June 2010.

Митко Соловец?
15.09.2018
21:58:52
Если бы квэри дсл починили для 5 хибера, я бы и жука не рекомендовал

Nikolay
15.09.2018
21:58:58
сорян, я слишком старый

Admin
ERROR: S client not available

elefus
15.09.2018
21:59:06
ты типа старовер?)

Nikolay
15.09.2018
21:59:15
нет, я малолюб

и вообще, майбатис звучит слишком похоже на майэскуэл, а это пиздец, товарищи.

весь хибер - это пистолет в жопе и все двадцать пальцев на курке
и у вас тремор конечностей и уже 5-8 сквозных дырок в жопе, ибо вы давно в бизнесе.

Dmitry
15.09.2018
22:15:08
никаких "если", никаких "вдруг", никаких "внезапно". а то выглядит - как будто код пишет ИИ, а не homo-sapiens. либо работает, либо нет. всё остальное, что не по тз либо баг, либо фича. цена ошибки либо чья-то жизнь, либо чьи-то деньги/ценности. тчк
да, это может быть баг, а может быть уязвимость, а может быть и лишняя работа вот тут https://stackoverflow.com/a/34451715 три вариант описывают а я пока думаю мапить только нужную часть DO на модель и её уже скармливать ORM

Nikolay
15.09.2018
22:22:11
защищаться от собственного же кода - редкостная паранойя.

Alexey
15.09.2018
22:24:00
да, это может быть баг, а может быть уязвимость, а может быть и лишняя работа вот тут https://stackoverflow.com/a/34451715 три вариант описывают а я пока думаю мапить только нужную часть DO на модель и её уже скармливать ORM
если это не система жизнеобеспечения, то должен срабатывать здравый похуизм. И да, согласен - это паранойя. Можно делать дамп базы каждую минуту, если страшно

Dmitry
15.09.2018
22:28:24
вполне возможно

Митко Соловец?
15.09.2018
22:29:15
Ну а вообще выше правильно сказали, лучше не параноить, а тесты писать

Alexey
15.09.2018
22:29:18
да, это может быть баг, а может быть уязвимость, а может быть и лишняя работа вот тут https://stackoverflow.com/a/34451715 три вариант описывают а я пока думаю мапить только нужную часть DO на модель и её уже скармливать ORM
и да, помимо апдейта только нужного поля через native sql/hql, есть атрибут updatable=false, про который писали выше. Можно открывать/закрывать транзакцию ручками и тогда проблем с автозакрытием транзакции хибером не будет. Есть ещё Transient аннотация. Есть PrePersist аннотация Есть спека по JPA 2 или офф дока по хиберу

Google
Митко Соловец?
15.09.2018
22:29:19
Пользы больше

Alexey
15.09.2018
22:30:46
согласен - тесты, чтобы не было страшно.

Dmitry
15.09.2018
22:34:39
а тесты-то тут причем? вот я вызываю метод по сохранению части объекта, которая готова к этому. а в эту транзакцию попадают совершенно левые данные (для данной логической операции), которые сейчас изменяются в другом потоке и пока не готовы к сохранению поэтому я и хочу сохранять только то, что нужно, а не тупо весь объект

Dmitry
15.09.2018
22:36:27
Иди читай доку хибера
а вариант маппить и скармливать ОРМ только то, что мне нужно — совсем плох?

Митко Соловец?
15.09.2018
22:36:52
Если начать разбирать все неправильные суждения в твоём сообщении - это лекция выйдет

А ещё я не пойму, тебе религия запрещает отдельно нужную сущность загрузить и обновить

Или ты просто не додумался до такого?

Nikolay
15.09.2018
22:38:49
сорри, был испуган.

Митко Соловец?
15.09.2018
22:39:09
Меня тоже этот поток бреда напугал

Nikolay
15.09.2018
22:39:17
похоже человека надо отправить подумать над терминологией, как минимум.

Dmitry
15.09.2018
22:39:19
Или ты просто не додумался до такого?
так вот тут 1:1 про это написал https://t.me/jvmchat/280231 но вытаскивать то, что уже есть — это разве нормально?

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