|
|
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
Petro123На каком ЯП в базе разруливать. Приведи пример. Что значит на каком ЯП? Если брать оракл, то PL/SQL. Вариант селекта из xml тоже вариант, кстати и может быть довольно мощный, не пробовал. Т.е. xml в виде CLOBа тащим в базу и в хранимке делаем из него селект, - мощно будет :) Но говорю о том, что. Когда мы заливаем данные в базу, то мы: - готовим под эти данные структуры в базе, в частности таблицы - готовим ХП в базе, которые кладут в конечном итоге данные в эти таблицы при чем здесь внутри БД мы уже вольны писать гораздо эффективнее, чем на яве в плане работы с данными, можем делать на этом этапе кучи проверок, трансформаций, дополнений и т.д. (и если делать это же самое через яву, то мы просто удвоим и себе объем работы и машине). Т.е. по-моему данная задача должна сводиться к созданию в яве интерфейса для БД, чтобы она могла "прочитать" этот файл. Т.е. достаточно явой сопоставить сущности+поля БД, с сущностями+полями в xml и привести их к типам в БД, никакой бизнес-логики в яве здесь не вижу :(, просто транзит/маппинг данных из файла в БД. По-моему мы об одном говорим, но может чего-то не понимаю или не понимаю выражение "бизнес-логика" ) Например: Petro123=== почти. Можно и однаХПнаОднуXML_Накладная Вот эта ХП. Она же будет раскладывать данные по разным таблицам (контрагенты, товары, склады, цены). При этом, как правило, в будет делаться куча проверок, как явных в ХП, так и на автомате (констрейнты, обновление различных мат. вью, консолидация данных для отчетов и т.д.), данные в большинстве случаев в дальнейшем или сразу на лету трансофрмируются в зависимости от уже существующих в БД других данных и т.д. вот это и понимаю под бизнес-логикой. Делать это на яве мне кажется странным. По-моему ява ж не заточна на манипуляции с данными в контексте реляционной БД. Или я чего-то не знаю? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 00:46 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
JDS, Off - а если у вас Postgre то будем на PostgrePL писать? - а если импорт придёт от ИС с этого же домена по REST? Все индивидуально. Ты java программист или разработчик бд? В одном лице может крышу снести)))). Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 08:22 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
Petro123Garrickp.setIntAtName кроме того, сам код)) не в состоянии тип определить? Можно использовать setObjectAtName . Spring, например, так делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 09:20 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
Garrick, замечательно. Попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 10:03 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
Petro123- а если у вас Postgre то будем на PostgrePL писать? - а если импорт придёт от ИС с этого же домена по REST? Все индивидуально. А как еще? Конечно придется писать на PostgrePL. Куда денешься от того, чтобы прописывать сущности в БД? ) И потом ojdbc работает с Postgre? Если нет, то придется ж и загрузчик на яве все равно переписывать или писать его с каким-нибудь универсальным провайдером данных типа одбц или датасорсы того же гласфиша Но посыл понял ) Просто практически не работал с коробочными решениями, ориентированными на большой круг потребителей и потому заточенных на работу с любой БД. Все крупные конторы, которые видел, как правило, имеют свою систему очень плотно завязанную на конкретную СУБД. По-моему нельзя добиться эффективной отдачи от СУБД, используя ее только как таблички, а всю обработку данных, бизнес-логику вынести в яву, точнее можно, но тогда зачем тот же oracle? Бери таблички MSSQL и вперед )) Истина где-то посредине наверно, конечно все индивидуально ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 10:10 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
JDS, давай завязывать OFF. Хибер, ОРМ и АппСервер работают со всеми СУБД сразу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 10:30 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
Да и JDBC, Select и Insert от БД к БД меняются не сильно. Особенно в контексте задачи разобрать XML и разложить по полям таблицы. У JDS какой-то поток сознания: 1. Хочешь на Java - делай на Java. В чем проблема? 2. Хочешь на PL/SQL - делай на PL/SQL. Опять таки, в чем проблема? Oracle PL/SQL базовые средства работы с XML (но только через DOM) имеет, т.ч. можно и весь разбор на PL/SQL написать. Скорее всего будет работать значительно медленнее, чем на Java, но решать Вам. 3. Проблема сформулированная изначально "определить типы параметров сторед процедуры" - надуманная. Т.к. все необходимые средства для этого есть. И в Oracle (вьюшки с метаописанием) и в JDBC (независимо от типа БД). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 10:50 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Petro123, со всем согласен. Написать-то можно, не вопрос, но хочется ж оптимально и грамотно, а получается какое-то мясо пока. Более предметно. В соседней теме посоветовали юзать hashmap, для доступа к "массиву" по строковым ключам, набросал такой треш ) : Код: 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. Еще не пробовал, т.к. не нравится. Т.е. для каждой сущности создаем свой класс, в котором по мере разбора xml заполняем fieldValues. Пошла новая сущность, добавили все значения fieldValues в пакет стейтмента, очистили fieldValues, читаем xml дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 11:43 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
JDS Код: java 1. поздравляю. Ты изобрёл java.sql.DataSet ну, или JDBC RowSet (Sun JCP, JSR 114) JDSно хочется ж оптимально и грамотно перфекционист? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 11:53 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
JDSТ.е. для каждой сущности создаем свой класс, осталось чуть до маппинга и ОРМ в виде хибера или iBatis. .... Дайте ему сериализацию или маппинг из XML сразу в обхекты. И пусть парит мозги соисполнителю если его XML не такой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 11:55 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
JDS, тебе дали разработку Модуля импорта из XML в БД. Версия 1.0 - пол дня работы. Сделал? Это imho В след.версиях улучшишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 11:59 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
Garrick, возможно, но думал, без стороннего все можно сделать. Petro123, "потом" как правило не наступает, т.к. появляются новые задачи ) поэтому лучше по возможности делать сразу нормально, чем потом переделывать. В общем, если других нормальных вариантов кроме хиберов, то придется жить с этим пока ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2016, 12:06 |
|
||
|
JDBC+Oracle(Parameters)
|
|||
|---|---|---|---|
|
#18+
JDSGarrick, возможно, но думал, без стороннего все можно сделать. Petro123, "потом" как правило не наступает, т.к. появляются новые задачи ) поэтому лучше по возможности делать сразу нормально, чем потом переделывать. В общем, если других нормальных вариантов кроме хиберов, то придется жить с этим пока ) А что, есть уверенность что хибернейт вызов хранимки в oracle сможет нормально сделать? К примеру, Код: plsql 1. 2. 3. 4. 5. и далее, Код: plsql 1. 2. 3. я думаю, тоже ничего хорошего не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 09:08 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2124169]: |
0ms |
get settings: |
5ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
77ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 434ms |

| 0 / 0 |
