powered by simpleCommunicator - 2.0.31     © 2024 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Embedded или отдельные Entity? Hibernate
25 сообщений из 81, страница 1 из 4
Embedded или отдельные Entity? Hibernate
    #39872891
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть настройки пользователя: Файл.

Эти настройки нужно перенести в бд для каждого юзверя свои настройки такие.

Пункты настроек oneXTwo , handicap , overUnder нужно отобразить в бд.

Тут беда в том что там данные: fullTime , halfTime повторяются.

Я поместил это в один юзабельный класс:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
@Data
@Builder
@Embeddable
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class OddTimeSettingsEntity extends EmbeddableEntity {

    @Column(name = "`enabled`")
    private boolean enabled = false;

    @Column(name = "differenceTo")
    private Double differenceTo;

    @Column(name = "differenceFrom")
    private Double differenceFrom;

    @Column(name = "coefficientTo")
    private Double coefficientTo;

    @Column(name = "coefficientFrom")
    private Double coefficientFrom;

    @Column(name = "stepsCountTo")
    private Integer stepsCountTo;

    @Column(name = "stepsCountFrom")
    private Integer stepsCountFrom;

    @Column(name = "matchMinuteTo")
    private Integer matchMinuteTo;

    @Column(name = "matchMinuteFrom")
    private Integer matchMinuteFrom;

    @Column(name = "includeHTMatchMinute")
    private boolean includeHTMatchMinute = false;

}



И так Выше по конфигу:

Класс для элементов: live и preMatch :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
@Data
@Builder
@Embeddable
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class OddPartSettingsEntity extends EmbeddableEntity {

    @Column(name = "`enabled`")
    private boolean enabled = false;

    @Embedded
    private OddTimeSettingsEntity fullTime;

    @Embedded
    private OddTimeSettingsEntity halfTime;

}



Теперь класс, в котором находятся live и preMatch :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
@Data
@Builder
@Embeddable
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class OddSettingsEntity extends EmbeddableEntity {

    @Column(name = "`enabled`")
    private boolean enabled = false;

    @Embedded
    private OddPartSettingsEntity live;

    @Embedded
    private OddPartSettingsEntity preMatch;

}



И собственно сам класс с настройками:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
@Data
@Entity
@Table(name = "`settings`")
@Builder
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class SettingsEntity extends AbstractEntity {

    ///...
    private OddSettingsEntity oneXTwo;

    @Column(name = "handicap", insertable = false, updatable = false)
    @Embedded
    @AttributeOverrides({

            @AttributeOverride(name = "enabled", column = @Column(name = "handicapEnabled")),
            @AttributeOverride(name = "live.enabled", column = @Column(name = "liveHandicapEnabled")),
            @AttributeOverride(name = "live.fullTime.enabled", column = @Column(name = "liveFullTimeHandicapEnabled")),
            @AttributeOverride(name = "live.halfTime.enabled", column = @Column(name = "liveHalfTimeHandicapEnabled")),

            @AttributeOverride(name = "live.fullTime.differenceTo", column = @Column(name = "liveFullTimeHandicapDifferenceTo")),
            @AttributeOverride(name = "live.fullTime.differenceFrom", column = @Column(name = "liveFullTimeHandicapDifferenceFrom")),
            @AttributeOverride(name = "live.halfTime.differenceTo", column = @Column(name = "liveHalfTimeHandicapDifferenceTo")),
            @AttributeOverride(name = "live.halfTime.differenceFrom", column = @Column(name = "liveHalfTimeHandicapDifferenceFrom")),

            @AttributeOverride(name = "live.fullTime.coefficientTo", column = @Column(name = "liveFullTimeHandicapCoefficientTo")),
            @AttributeOverride(name = "live.fullTime.coefficientFrom", column = @Column(name = "liveFullTimeHandicapCoefficientFrom")),
            @AttributeOverride(name = "live.halfTime.coefficientTo", column = @Column(name = "liveHalfTimeHandicapCoefficientTo")),
            @AttributeOverride(name = "live.halfTime.coefficientFrom", column = @Column(name = "liveHalfTimeHandicapCoefficientFrom")),

            @AttributeOverride(name = "live.fullTime.stepsCountTo", column = @Column(name = "liveFullTimeHandicapStepsCountTo")),
            @AttributeOverride(name = "live.fullTime.stepsCountFrom", column = @Column(name = "liveFullTimeHandicapStepsCountFrom")),
            @AttributeOverride(name = "live.halfTime.stepsCountTo", column = @Column(name = "liveHalfTimeHandicapStepsCountTo")),
            @AttributeOverride(name = "live.halfTime.stepsCountFrom", column = @Column(name = "liveHalfTimeHandicapStepsCountFrom")),

            @AttributeOverride(name = "live.fullTime.matchMinuteTo", column = @Column(name = "liveFullTimeHandicapMatchMinuteTo")),
            @AttributeOverride(name = "live.fullTime.matchMinuteFrom", column = @Column(name = "liveFullTimeHandicapMatchMinuteFrom")),
            @AttributeOverride(name = "live.halfTime.matchMinuteTo", column = @Column(name = "liveHalfTimeHandicapMatchMinuteTo")),
            @AttributeOverride(name = "live.halfTime.matchMinuteFrom", column = @Column(name = "liveHalfTimeHandicapMatchMinuteFrom")),

            @AttributeOverride(name = "live.fullTime.includeHTMatchMinute", column = @Column(name = "liveFullTimeHandicapIncludeHTMatchMinute")),
            @AttributeOverride(name = "live.halfTime.includeHTMatchMinute", column = @Column(name = "liveHalfTimeHandicapIncludeHTMatchMinute")),

            @AttributeOverride(name = "preMatch.enabled", column = @Column(name = "preMatchHandicapEnabled")),
            @AttributeOverride(name = "preMatch.fullTime.enabled", column = @Column(name = "preMatchFullTimeHandicapEnabled")),
            @AttributeOverride(name = "preMatch.halfTime.enabled", column = @Column(name = "preMatchHalfTimeHandicapEnabled")),

            @AttributeOverride(name = "preMatch.fullTime.differenceTo", column = @Column(name = "preMatchFullTimeHandicapDifferenceTo")),
            @AttributeOverride(name = "preMatch.fullTime.differenceFrom", column = @Column(name = "preMatchFullTimeHandicapDifferenceFrom")),
            @AttributeOverride(name = "preMatch.halfTime.differenceTo", column = @Column(name = "preMatchHalfTimeHandicapDifferenceTo")),
            @AttributeOverride(name = "preMatch.halfTime.differenceFrom", column = @Column(name = "preMatchHalfTimeHandicapDifferenceFrom")),

            @AttributeOverride(name = "preMatch.fullTime.coefficientTo", column = @Column(name = "preMatchFullTimeHandicapCoefficientTo")),
            @AttributeOverride(name = "preMatch.fullTime.coefficientFrom", column = @Column(name = "preMatchFullTimeHandicapCoefficientFrom")),
            @AttributeOverride(name = "preMatch.halfTime.coefficientTo", column = @Column(name = "preMatchHalfTimeHandicapCoefficientTo")),
            @AttributeOverride(name = "preMatch.halfTime.coefficientFrom", column = @Column(name = "preMatchHalfTimeHandicapCoefficientFrom")),

            @AttributeOverride(name = "preMatch.fullTime.stepsCountTo", column = @Column(name = "preMatchFullTimeHandicapStepsCountTo")),
            @AttributeOverride(name = "preMatch.fullTime.stepsCountFrom", column = @Column(name = "preMatchFullTimeHandicapStepsCountFrom")),
            @AttributeOverride(name = "preMatch.halfTime.stepsCountTo", column = @Column(name = "preMatchHalfTimeHandicapStepsCountTo")),
            @AttributeOverride(name = "preMatch.halfTime.stepsCountFrom", column = @Column(name = "preMatchHalfTimeHandicapStepsCountFrom")),

            @AttributeOverride(name = "preMatch.fullTime.matchMinuteTo", column = @Column(name = "preMatchFullTimeHandicapMatchMinuteTo")),
            @AttributeOverride(name = "preMatch.fullTime.matchMinuteFrom", column = @Column(name = "preMatchFullTimeHandicapMatchMinuteFrom")),
            @AttributeOverride(name = "preMatch.halfTime.matchMinuteTo", column = @Column(name = "preMatchHalfTimeHandicapMatchMinuteTo")),
            @AttributeOverride(name = "preMatch.halfTime.matchMinuteFrom", column = @Column(name = "preMatchHalfTimeHandicapMatchMinuteFrom")),

            @AttributeOverride(name = "preMatch.fullTime.includeHTMatchMinute", column = @Column(name = "preMatchFullTimeHandicapIncludeHTMatchMinute")),
            @AttributeOverride(name = "preMatch.halfTime.includeHTMatchMinute", column = @Column(name = "preMatchHalfTimeHandicapIncludeHTMatchMinute")),

    })
    private OddSettingsEntity handicap;

    ///...
    private OddSettingsEntity overUnder;

    @ElementCollection
    private Set<String> favorites = new HashSet<>();

    @ElementCollection
    private Set<String> leaguesBlackList = new HashSet<>();

}



Я решил сделать это все дело в одной таблице, но разбить на разные класс в Java. Но тут меня смущает то что у каждого поля oneXTwo , handicap , overUnder будет очень большое кол-во AttributeOverride ибо классы внутри них переиспользуются и имена полей пересекаются.

И вопрос: Лучше сделать так и забить на то что много аннотаций AttributeOverride будет или же сделать это дело отдельными таблицами?

Embedded подход мне кажется будет быстрее работать, но вот в плане кода печаль(

Что скажете?
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872902
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты знаешь что написано в чистом коде?
если повторение больше двух раз-твой код говно

в суть не вникал,но последняя портянка не тянет даже на то,чтобы ей после некачественного смузи подтереть свою 5ю точку)

циклоп ты же в люксофте был какое то время,неужели тебя не научили качественному коду)
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872912
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79, Кхм. А где тут повторение больше двух раз одного и того же кода? Ткни пальцем.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872914
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,
Нужна структура базы, как тут рисуют чтобы моделировать правильно Модель в РСУБД.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872917
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopasv79, Кхм. А где тут повторение больше двух раз одного и того же кода? Ткни пальцем.
ну я насчитал штук 60 анотаций одинаковых
я сомневаюсь что такую херню бы в прод выпустили
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872919
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,
Если формат файла XML, JSON то странно его отображать на таблицы в РСУБД.
Не находите?
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872920
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
циклоп завязывай ты с фрилансом,не развиваешься ты и это очевидно
вроде хороший ты парень и мне хотел в реальности помочь,но движешься ты в тупик судя по всему
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872924
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpTsyklop,
Если формат файла XML, JSON то странно его отображать на таблицы в РСУБД.
Не находите?
циклоп ушел во фриланс будучи джуном )
результат на лицо

в моем понимании фриланс это минимум полудохлый сеньер
в итоге циклоп за год остался на том же уровне к сожалению
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872925
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,
Запихни настройки в блоб в бд.
Как вариант.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872929
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC SharpTsyklop,
Если формат файла XML, JSON то странно его отображать на таблицы в РСУБД.
Не находите?

Заказчик переносит Desktop приложение в веб. И эти самые настройки будут у каждого юзверя. JSON формат был на Desktop версии - там это было норм, а вот сейчас печаль, беда.

Предлагаете хранить настройки каждого юзверя в файлах?

P.S. Если что к настройкам будет частое обращение.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872931
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79Tsyklopasv79, Кхм. А где тут повторение больше двух раз одного и того же кода? Ткни пальцем.
ну я насчитал штук 60 анотаций одинаковых
я сомневаюсь что такую херню бы в прод выпустили

Одинаковых? ну приведите пример.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872932
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC SharpTsyklop,
Нужна структура базы, как тут рисуют чтобы моделировать правильно Модель в РСУБД.
Структура только строиться. Есть только таблица User с данным юзверя и все. Делаю дальше и вот уперся.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872934
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79циклоп завязывай ты с фрилансом,не развиваешься ты и это очевидно
вроде хороший ты парень и мне хотел в реальности помочь,но движешься ты в тупик судя по всему
А давайте Вы не будете указывать мне что делать и лучше за собой будете следить? откуда Вам знать развиваюсь я или нет? откуда Вам знать что за проект что Вы так судите? Если Вы такой умный - предлагайте модель лучше. А то п**еть и я могу.

P.S. отбило всякое желание с Вами вести разговор. Удачи.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872935
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopasv79пропущено...

ну я насчитал штук 60 анотаций одинаковых
я сомневаюсь что такую херню бы в прод выпустили

Одинаковых? ну приведите пример.
циклоп,давай обратно в люксофт)
весь это бекэнд фриланс такое себе развлечение
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872938
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79PetroNotC SharpTsyklop,
Если формат файла XML, JSON то странно его отображать на таблицы в РСУБД.
Не находите?
циклоп ушел во фриланс будучи джуном )
результат на лицо

в моем понимании фриланс это минимум полудохлый сеньер
в итоге циклоп за год остался на том же уровне к сожалению

ТА ОТКУДА ЕДРИТЬ ВАШУ НАЛЕВО ВЫ ЗНАЕТЕ НА КАКОМ Я УРОВНЕ? БЕСЯТ ТАКИЕ УШЛЕПКИ, КОТОРЫЕ ВОЗОМНИЛИ СЕБЯ ЦАРЯМИ И ВСЕ ЗНАЮЩИМИ И ВМЕСТО ТОГО ЧТО БЫ СКАЗАТЬ ПО ТЕБЕ П**ДЯТ НАПРАВО И НАЛЕВО. ЗАКАЛЕБАЛ, СВАЛИ С ТЕМЫ И ДАЙ ЛЮДЯМ ПОМОЧЬ НОРМАЛЬНО.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872940
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79циклоп,давай обратно в люксофт)
весь это бекэнд фриланс такое себе развлечение

Вы только трепаться и можете? я спросил конкретный вопрос - ответа нет. Значит Вы - трепач обыкновенный.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872941
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopПредлагаете хранить настройки каждого юзверя в файлах?веб это не десктоп.
Разделить на настройки ГУИ. Эти в куки.
Настройки БЛ в базу.
Настройки админа в файлы.
...
Если крайне нужно дерево, то таблица parent_id, id, name.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872942
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC SharpTsyklop,
Запихни настройки в блоб в бд.
Как вариант.

Хм. кстати мысль.и потом этот Blob мапить на классы джавишные? когда нужны настройки
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872943
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopasv79циклоп завязывай ты с фрилансом,не развиваешься ты и это очевидно
вроде хороший ты парень и мне хотел в реальности помочь,но движешься ты в тупик судя по всему
А давайте Вы не будете указывать мне что делать и лучше за собой будете следить? откуда Вам знать развиваюсь я или нет? откуда Вам знать что за проект что Вы так судите? Если Вы такой умный - предлагайте модель лучше. А то п**еть и я могу.

P.S. отбило всякое желание с Вами вести разговор. Удачи.
почему то люди всегда не любят слышать о себе правду)
почему ты ушел из люксофта будучи вялым джуном
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872944
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharpвеб это не десктоп.
Разделить на настройки ГУИ. Эти в куки.
Настройки БЛ в базу.
Настройки админа в файлы.
...
Если крайне нужно дерево, то таблица parent_id, id, name.

Я понимаю. Все те настройки для бэка нужны. Настраиваются с фронта.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872945
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopBlob мапить на классысериализация
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872947
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79почему то люди всегда не любят слышать о себе правду)
почему ты ушел из люксофта будучи вялым джуном
Это не Вашего ума дело почему я ушел. Вас это никаким образом не касается. Я тут что бы услышать советы более опытных людей, а не выскочек как Вы. Которые бла-бла-бла, а сами по делу сказать нечего не могут.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872948
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC SharpTsyklopBlob мапить на классысериализация

да-да. понимаю.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872949
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79почему то люди всегда не любят слышать о себе правду)
почему ты ушел из люксофта будучи вялым джуном

Идите к бабкам на скамейку и обсуждайте кто куда пришел или откуда ушел. Мне это не интересно от слова СОВСЕМ.
...
Рейтинг: 0 / 0
Embedded или отдельные Entity? Hibernate
    #39872952
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopЯ понимаю. Все те настройки для бэка нужны. Настраиваются с фронта.если дерево, то 3 поля выше и без хибера.
Либо в блоб и class.saveToBlob, loadFromBlob(stream....
...
Рейтинг: 0 / 0
25 сообщений из 81, страница 1 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Embedded или отдельные Entity? Hibernate
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]