|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Используются две бд: H2 и MariaDB. MariaDB - на проде, H2 - при разработке Есть такой SQL запрос: Код: sql 1. 2. 3. 4. 5.
Штука в том что функция Код: java 1.
в этих бд отличаются. в H2 три параметра, а в MariaDb два параметра. Как тут быть? Подумал за профиля в спринге. И тут беда. Сам запрос считает разницу между двумя TIMESTAMP-ами. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2019, 13:30 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Tsyklop, а JPA тут причем если у вас SDLC не поставлен? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2019, 13:38 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
TsyklopКак тут быть? Подумал за профиля в спринге - вангую, что используется хибер, тогда: Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2019, 19:34 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Kachalov- вангую, что используется хибер, тогда: Код: java 1.
это где вызывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 10:55 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Андрей ПанфиловTsyklop, а JPA тут причем если у вас SDLC не поставлен? не JPA, а Spring Data. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 10:55 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
профайлы не прошли. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 10:56 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Насколько я понял идет попытка использовать функцию DATEDIFF из разных диалектов SQL и разных имплементаций. Можно от нее отказаться и вернуть результат обоих подзапросов в виде Timestamp и уже на уровне Java посчитать разницу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 11:06 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
maytonНасколько я понял идет попытка использовать функцию DATEDIFF из разных диалектов SQL и разных имплементаций. Можно от нее отказаться и вернуть результат обоих подзапросов в виде Timestamp и уже на уровне Java посчитать разницу.ну или при разработке разрабатывать на аналогичной БД и не колупать мозги. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 11:19 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
maytonНасколько я понял идет попытка использовать функцию DATEDIFF из разных диалектов SQL и разных имплементаций. Можно от нее отказаться и вернуть результат обоих подзапросов в виде Timestamp и уже на уровне Java посчитать разницу. Так и сделал. Но почему-то мне это не очень нравится. запросов много получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 11:19 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Сделай через UNION ALL. Или как-то так Код: sql 1. 2. 3. 4.
Был 1 запрос. И стал 1 запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 11:22 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
maytonСделай через UNION ALL. Или как-то так Код: sql 1. 2. 3. 4.
Был 1 запрос. И стал 1 запрос. А как мне это вернуть в джаву? Репозиторий же работает с конкретной сущностью. А тут получается новая сущность или новый класс. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 11:28 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
mayton, Я так понял, что ему нужен разный код в зависимости от того где он выполняется. На проде одна бд и код А. На работе другая бд и код для нее Б. Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 11:31 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Другая бд и другой параметер. Если постгри, то там имя функции другое. Что делать будем? ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 11:34 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
mayton, Вот тебе вопрос в соседнюю тему). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 11:37 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Petro123mayton, Я так понял, что ему нужен разный код в зависимости от того где он выполняется. На проде одна бд и код А. На работе другая бд и код для нее Б. Так? Да никак по сути. Две разные БД. Это либо 100% работа через ORM. Либо поддержка 2х разных диалектов. Собственно я вижу очень мало смысла в тестинге на H2 при условии что в проде будет МарияДБ. Это фигня которая не натягивается ни на какие утверждения. Тоесть я-бы переписывал инты и енд-ту-енд чтобы тестовая среда тоже поднимала экземпляр Марии и не мучал себя и других. Тем более что в эпоху docker это уже вполне осуществимо и не проходит через анальные муки как 10 лет назад. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 11:46 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
maytonСобственно я вижу очень мало смысла в тестинге на H2 при условии что в проде будет МарияДБ. Это фигня которая не натягивается ни на какие утверждения.вот и про это. Весь смысл ОРМ уходит. Тема - ерунда. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 11:59 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
TsyklopKachalov- вангую, что используется хибер, тогда: Код: java 1.
это где вызывать? - где запрос там условный переход, в зависимости от типа БД выполнять разные запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 12:00 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Kachalovгде запрос там условный переход, в зависимости от типа БД выполнять разные запросы.прямо в коде if () sql = "sssss else sql =" & ddd ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 12:04 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
maytonДа никак по сути. Две разные БД. Это либо 100% работа через ORM. Либо поддержка 2х разных диалектов. Собственно я вижу очень мало смысла в тестинге на H2 при условии что в проде будет МарияДБ. Это фигня которая не натягивается ни на какие утверждения. Тоесть я-бы переписывал инты и енд-ту-енд чтобы тестовая среда тоже поднимала экземпляр Марии и не мучал себя и других. Тем более что в эпоху docker это уже вполне осуществимо и не проходит через анальные муки как 10 лет назад. Верно. Разрабатываю на H2. на проде mariadb. ORM - 100%. На H2 не тесты, а эмуляция прода. H2 удобно поднять на разных машинах. А для марии надо подымать кучу всего. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 12:25 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Petro123mayton, Я так понял, что ему нужен разный код в зависимости от того где он выполняется. На проде одна бд и код А. На работе другая бд и код для нее Б. Так? Не код, а функция бд другая ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 12:26 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Petro123Kachalovгде запрос там условный переход, в зависимости от типа БД выполнять разные запросы.прямо в коде if () sql = "sssss else sql =" & ddd ? - да, как то так ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 12:27 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Kachalov- да, как то так но у меня JpaRepository. Все sql должны быть до компиляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 12:32 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
TsyklopВерно. Разрабатываю на H2. на проде mariadb. ORM - 100%. На H2 не тесты, а эмуляция прода. H2 удобно поднять на разных машинах. А для марии надо подымать кучу всего. Ты меня этим не разжалобишь. Мне тоже удобно Амазон тестировать в песочнице. Но это не работает в PROD дружище. Вообще твои тесты только тогда будут иметь ценность когда они близки к реалиям. Фейковая SQL машина - это самообман. Не ленись поднимай среду с настоящей БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 12:47 |
|
Подстановка JPA репозитория в зависимости от профиля
|
|||
---|---|---|---|
#18+
Tsyklopно у меня JpaRepository. Все sql должны быть до компиляции. - взял пример из интернета (время гугления 3 сек): Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
добавить сюда if, а запросы хранить в каком нибудь properties файле. Кстати тоже вариант - запросы храните в файлах, а сборщиком (например maven-ом) переключаете, в зависимости от профиля ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2019, 12:49 |
|
|
start [/forum/topic.php?fid=59&msg=39797199&tid=2121388]: |
0ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 741ms |
total: | 880ms |
0 / 0 |