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

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

Пункты настроек 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
07.10.2019, 19:58
    #39872902
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Embedded или отдельные Entity? Hibernate
ты знаешь что написано в чистом коде?
если повторение больше двух раз-твой код говно

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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