Size: a a a

2020 May 18

SS

Sergey Sleptsov in learn.java
Коллеги, может кто сталкивался, помогите пожалуйста разобраться. есть зип архив, для распаковки архива использую стандартную либу java.util.zip (Java oracle 8). Но распаковываются не все файлы которые в архиве (даже те что на одном уровне с теми что распаковываются), при этом архиватор в ОС нормально распаковывает все.
источник

VG

Vladislav Golovatyi in learn.java
Есть Parent класс и Inner, который вложен. В вложенном есть 2 поля со временем. Как правильно сделать так, что бы при создании (апдейте) Parent объекта - автоматически в базе проставлялись данные в полях внутрененего? Код по ссылке нужного не делает
https://pastebin.com/miwmbSSp

Кроме решений использовать @CreationTimestamp ( @UpdateTimestamp)
и

  @PrePersist
   protected void onCreate() {
       this.createdDate = LocalDateTime.now();
   }

   @PreUpdate
   protected void onUpdate() {
       this.updatedDate = LocalDateTime.now();
   }
источник

S

Sonne in learn.java
Vladislav Golovatyi
Есть Parent класс и Inner, который вложен. В вложенном есть 2 поля со временем. Как правильно сделать так, что бы при создании (апдейте) Parent объекта - автоматически в базе проставлялись данные в полях внутрененего? Код по ссылке нужного не делает
https://pastebin.com/miwmbSSp

Кроме решений использовать @CreationTimestamp ( @UpdateTimestamp)
и

  @PrePersist
   protected void onCreate() {
       this.createdDate = LocalDateTime.now();
   }

   @PreUpdate
   protected void onUpdate() {
       this.updatedDate = LocalDateTime.now();
   }
@PostUpdate ?
Еще можно внутри базы триггер написать
источник

VG

Vladislav Golovatyi in learn.java
Sonne
@PostUpdate ?
Еще можно внутри базы триггер написать
а @CreatedDate не должны срабатывать во внутреннем объекте?
источник

S

Sonne in learn.java
Vladislav Golovatyi
а @CreatedDate не должны срабатывать во внутреннем объекте?
Он отработает при создании сущности, я видимо что-то не понял
источник

VG

Vladislav Golovatyi in learn.java
Sonne
Он отработает при создании сущности, я видимо что-то не понял
Ну вот такой вариант кода https://pastebin.com/miwmbSSp у меня не делает желаемого (при запуске сетит null в базу) и я что-то не так написал или через @CreatedDate  (@LastModifiedDate) во внутреннем объекте нельзя засетить время?
источник

P

Pan Kotek in learn.java
Vladislav Golovatyi
Есть Parent класс и Inner, который вложен. В вложенном есть 2 поля со временем. Как правильно сделать так, что бы при создании (апдейте) Parent объекта - автоматически в базе проставлялись данные в полях внутрененего? Код по ссылке нужного не делает
https://pastebin.com/miwmbSSp

Кроме решений использовать @CreationTimestamp ( @UpdateTimestamp)
и

  @PrePersist
   protected void onCreate() {
       this.createdDate = LocalDateTime.now();
   }

   @PreUpdate
   protected void onUpdate() {
       this.updatedDate = LocalDateTime.now();
   }
Над Inner классом добавлял @EntityListeners(AuditingEntityListener.class)?
источник

VG

Vladislav Golovatyi in learn.java
Pan Kotek
Над Inner классом добавлял @EntityListeners(AuditingEntityListener.class)?
сейчас попробую
источник

P

Pan Kotek in learn.java
Vladislav Golovatyi
сейчас попробую
Сделай какой-то AuditableEntity абстрактный и наследуйся от него, чтобы над каждым классом не добавлять аннотации
источник

VG

Vladislav Golovatyi in learn.java
Pan Kotek
Над Inner классом добавлял @EntityListeners(AuditingEntityListener.class)?
Сработало, спасибо. А каким запросом можно было нагуглить эту аннотацию?
источник

VG

Vladislav Golovatyi in learn.java
Pan Kotek
Сделай какой-то AuditableEntity абстрактный и наследуйся от него, чтобы над каждым классом не добавлять аннотации
Сделаю, спасибо
источник

VG

Vladislav Golovatyi in learn.java
Sonne
@PostUpdate ?
Еще можно внутри базы триггер написать
если использовать @PostUpdate, то работает, но ее следует использовать только для updatedAt поля? Для createdAt при таком подходе нужно что-то другое?
источник

S

Sonne in learn.java
Vladislav Golovatyi
если использовать @PostUpdate, то работает, но ее следует использовать только для updatedAt поля? Для createdAt при таком подходе нужно что-то другое?
Да, для этого есть аналогичная аннотация для создания
источник

VG

Vladislav Golovatyi in learn.java
Sonne
Да, для этого есть аналогичная аннотация для создания
Понял, спасибо
источник

P

Pan Kotek in learn.java
Vladislav Golovatyi
если использовать @PostUpdate, то работает, но ее следует использовать только для updatedAt поля? Для createdAt при таком подходе нужно что-то другое?
Лучше использовать @PrePersist и @PreUpdate
источник

ВД

Влад Долгушин... in learn.java
Добрый день, как можно передать в метод другой метод как аргумент и вызвать его?
источник

W

Warden in learn.java
Привет, подскажите, а правда ли так нужно тех.образование? Полистал вакансии на hh, везде у джунов просят тех.образование и чаще всего высшее. Самоучки хуже?
источник

РХ

Ринат Харисов... in learn.java
Влад Долгушин
Добрый день, как можно передать в метод другой метод как аргумент и вызвать его?
первый метод может принимать лямбду в качестве параметра, в этой лямбде вызвать второй метод
источник

ВД

Влад Долгушин... in learn.java
Ринат Харисов
первый метод может принимать лямбду в качестве параметра, в этой лямбде вызвать второй метод
в коде это так: void method1( method2) {methos2} я не понимаю какой тип аргумета нужно указать? в котлине есть Unit
источник

ДЧ

Денис Чиканов... in learn.java
Warden
Привет, подскажите, а правда ли так нужно тех.образование? Полистал вакансии на hh, везде у джунов просят тех.образование и чаще всего высшее. Самоучки хуже?
Техническое образование не очень часто является обязательным пунктом, покуда тебя устраивает работать в России.
Если ты хочешь переехать в другую страну, отсутствие профильной вышки в прямом смысле слова на порядки понижает твои шансы на получение работы и рабочей визы.
источник