Size: a a a

2020 May 22

ST

Shinji Takemura in pro.jvm
имхо плохо самому сразу запилить архитектурное решение и не обсудить это с остальной командой. не то, чтобы дев не знал как это делать, но согласовать хотя бы имеет смысл
источник

AK

Alexander Komarov in pro.jvm
Shinji Takemura
имхо плохо самому сразу запилить архитектурное решение и не обсудить это с остальной командой. не то, чтобы дев не знал как это делать, но согласовать хотя бы имеет смысл
тут все очень от порядка в команде зависит. знаю очень крутые команды, где каждый человек сам себе лид и все пилят свои куски самостоятельно. обычно согласовывают какие-то точки интеграции
источник

ЕЕ

Евгений Елисеев... in pro.jvm
Dima
Джун - полноценный член команды и инженер
как бы инженер без опыта это тоже инженер. по идее стажировка должна быть еще до получения вышки. хотя это и в идеале.
источник

Е

Евгений in pro.jvm
Alessio Bratenkov
Jvm джуна
😅
источник

AB

Alessio Bratenkov in pro.jvm
Джунц гуглить надо уметь в первую очередь
источник

ST

Shinji Takemura in pro.jvm
Alessio Bratenkov
Джунц гуглить надо уметь в первую очередь
всем надо уметь гуглить, не?
источник

Е

Евгений in pro.jvm
Я думаю вспм
источник

AB

Alessio Bratenkov in pro.jvm
Понятное дело
источник

VD

Vladislav D. in pro.jvm
Привет! Есть вопрос по хибернейт
Есть две сущности, смапплены они следующим образом
===
@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
   private List<Child> children = new ArrayList<>();
===
@ManyToOne(fetch = FetchType.LAZY)
   @JoinColumn(name = "parent_id")
   private Parent parent;
===
У меня вопрос заключается в том, что каким образом можно обойтись при сохранении Parent без проставления в цикле каждому Child поля Parent аля
===
newParent.setChildren(createRequest.getChildrenUuid().stream()
               .map(id -> {
                   Child child = childRepository.findById(UUID.fromString(id)).orElseThrow(EntityNotFoundException::new);
                   child.setParent(newParent);
                   return children;
               })
               .collect(Collectors.toList()));
===
и соответственно при обновлении без ручного проставления каждому Child в случае, если отцепляю, значения NULL в поле Parent
источник

РН

Роман Нагаев... in pro.jvm
Vladislav D.
Привет! Есть вопрос по хибернейт
Есть две сущности, смапплены они следующим образом
===
@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
   private List<Child> children = new ArrayList<>();
===
@ManyToOne(fetch = FetchType.LAZY)
   @JoinColumn(name = "parent_id")
   private Parent parent;
===
У меня вопрос заключается в том, что каким образом можно обойтись при сохранении Parent без проставления в цикле каждому Child поля Parent аля
===
newParent.setChildren(createRequest.getChildrenUuid().stream()
               .map(id -> {
                   Child child = childRepository.findById(UUID.fromString(id)).orElseThrow(EntityNotFoundException::new);
                   child.setParent(newParent);
                   return children;
               })
               .collect(Collectors.toList()));
===
и соответственно при обновлении без ручного проставления каждому Child в случае, если отцепляю, значения NULL в поле Parent
можно попробовать зафлашить изменения и рефрешнуть чайлдов, если транзакция нормально настроена то сработает хорошо, а вместо findById возможно лучше использовать getOne
источник

D

Dima in pro.jvm
источник

VP

Vladimir Petrakovich in pro.jvm
Это нормально, что такой код иногда валится с исключением "process hasn't exited", или это баг в JDK?
var process = ProcessBuilder(...).start();
process.toHandle().onExit().join();
process.exitValue();
источник

VP

Vladimir Petrakovich in pro.jvm
Vladimir Petrakovich
Это нормально, что такой код иногда валится с исключением "process hasn't exited", или это баг в JDK?
var process = ProcessBuilder(...).start();
process.toHandle().onExit().join();
process.exitValue();
Судя по всему, особенность известная, но в доке намёков на это нет
http://hg.openjdk.java.net/jdk/jdk11/file/1ddf9a99e4ad/src/java.base/unix/classes/java/lang/ProcessImpl.java#l580
источник

 P

 ‌‌Gleb Pilipets... in pro.jvm
@Query("select card from Card card join Account account on card.accountId = account.id where account.isBlocked = 1")  
   List<Card> getBlockedCards(List<Integer> accounts);

Ребят, а что будет если я создам такой JpaRepository, то есть с таким методом.

Я делаю join по двух таблицах и возвращаю результат - этот резутат обрежется к одному из типов обьектов или как?
Как этот список сформируется?
источник

V

Vlad in pro.jvm
 ‌‌Gleb Pilipets
@Query("select card from Card card join Account account on card.accountId = account.id where account.isBlocked = 1")  
   List<Card> getBlockedCards(List<Integer> accounts);

Ребят, а что будет если я создам такой JpaRepository, то есть с таким методом.

Я делаю join по двух таблицах и возвращаю результат - этот резутат обрежется к одному из типов обьектов или как?
Как этот список сформируется?
Если на уровне модели в Card есть связь, будет joint таблиц в любом случае будет только та сущность, которая указывается в select грузиться (если это не проекция)
Тут вроде не совсем корректный синтаксис для jpql/hql
источник

 P

 ‌‌Gleb Pilipets... in pro.jvm
А список аргументов как-то будет учитываться или здесь ошибка? Это я просто пример кода...
источник

o

oxid in pro.jvm
Привет, а если ли чатик релевантный вопросам про спринг?
источник

V

Vlad in pro.jvm
 ‌‌Gleb Pilipets
А список аргументов как-то будет учитываться или здесь ошибка? Это я просто пример кода...
Не помню, чтобы так можно было
источник

 P

 ‌‌Gleb Pilipets... in pro.jvm
Vlad
Не помню, чтобы так можно было
Пойду исправлять, спасибо
источник

V

Vlad in pro.jvm
 ‌‌Gleb Pilipets
Пойду исправлять, спасибо
Простой тест покажет, работает или нет и где ошибки) завалился на этапе валидации запроса
источник