5916
Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез
Да пока ноута нет рядом, думал по дороге домой смогу узнать. Спасибо за помощь, скоро проверю
Читать полностью…
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "type")
public abstract class AbstractEvent{
@Id
long id;
@Column
String type;
}
@Entity
@DiscriminatorValue("event_1")
public class Event1 extends AbstractEvent{
@OneToMany
List<Entity1> list1;
}
@Entity
@DiscriminatorValue("event_2")
public class Event2 extends AbstractEvent{
@OneToMany
List<Entity2> list2;
}
public void update(Dto dto, long id){
AbstractEvent event = session.find(AbstractEvent.class,id);
Event2 edited = build(dto);
edited.setId(event.id);
session.update(edited);
}
Ну в голову приходит
Попытаться сделать деаттач ентити
Склонировать/смапить в новый объект
Попробовать у хибера вызвать мерж на новом объекте
Или даже апдейт но тут хз сработает ли
Ну мне вот было интересно, если бы я сделал другой подкласс абстрактного события и присвоил бы ему предыдущий id, затер бы hibernate данные которые хранились по этой сущности ранее?
Читать полностью…
Была создана сущность события: изначально какой то подкласс абстрактного события, со связями на таблицы 1,2,3.
Событие хотят отредактировать, теперь это другой тип события ссылающийся на таблицы 4,5
Менеджеры не нужны, клиенты не нужны, пользователи не нужны.
Пусть llm пишут для llm
Дк и программисты не нужны, и тестировщики не нужны, и тех. писы не нужны, и дев. опсы не нужны: менеджер промт нейронке напишет, она сама фичу сделает. Сама протестирует. Сама раздеплоит. Документация нейронке не нужна, она код читает, всё понимает
Читать полностью…
то чат по ллм других в принципе теперь не бывает больше
Читать полностью…
И шо, там не окажется семнадцати разных хендлеров одних и тех же исключений?
Читать полностью…
Только когда очень много специфичной логики, я буквально один раз пыталась, и то вряд-ли полноценно
Читать полностью…
Отчаянные попытки не наткнуться на самого себя в расследовании продолжаются
Читать полностью…
а вопрос в чем?
использовать методу можно и не называя все внутри по красной книжке... А так даже в спринге есть репозитории, (почти) все используют до некоторой степени
Или все таки сделать грязно и через jdbc сменить тип… подумай над этим - проще всего кмк, но воняет (хибер тоже воняет, но что сильнее выбор за тобой)
Читать полностью…
К сожалению пересоздавать нельзя, только редактировать
Читать полностью…
Технически как это сделать? Просто клас кастануть не выйдет
Склонировать и пересохранить?
Удалить прошлую запись и новую сохранить?
Можно хакнуть и через jdbc сменить тип
Короч решение и поведение зависит от того как ты будешь делать в своем конкретном случае
Ну создали событие с одним типом, хотят отредактировать и сменить на другой. Нужна другая реализация класса
Читать полностью…
А там будет работать затирание из связанных таблиц подкласса при смене типа у сущности?
Если она была одним типом, а ее хотят отредактировать и сменить на другой тип?
Сейчас же опять начнётся нудятина на три дня уровня "важность культурного просвещения в аграрных кругах"
Читать полностью…
ну в целом да там про архитектуру ща как в прожвмджобс про работу))
Читать полностью…
Добрый день. Кто может помочь со следующей проблемой при использовании JPA/Hibernate?
Есть сущность, и у нее есть поле отвечающее за ее тип. И в случае каждого типа имеется свой набор данных ссылающийся на сторонние таблицы. Сущность из-за этого превращается в огромный кусок
@Entity
public class EventEntity {
.....
@Column
String type;
@OneToMany(mappedBy = "event", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
private List<InnerEntity1> type1Data= new ArrayList<>();
@OneToMany(mappedBy = "event", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
private List<InnerEntity2> type2Data= new ArrayList<>();
@OneToMany(mappedBy = "event", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
private List<InnerEntity3> type3Data= new ArrayList<>();
@OneToMany(mappedBy = "event", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
private List<InnerEntity4> type4Data= new ArrayList<>();
@OneToMany(mappedBy = "event", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
private List<InnerEntity5> type5Data= new ArrayList<>();
}
ничего, отнимут субсидии у подписок и совсем другие разговоры пойдут
Читать полностью…
а зачем изобретать для тривиальных сценариев велосипед
Читать полностью…