LINUX.ORG.RU

Замена orm

 , ,


0

4

Нужно считать кварплату. Куча всяких условностей и идиотский законов которые постоянно меняются. То есть задача намного сложнее, чем умножишь объём на цену. Наркомановские параметры, нормативы, полувиртуальные услуги, тарифы и сбор параметров для них с нескольких уровней, лицевых счетов и пд владельцев прилагается. Нужно всё это как-то обсчитывать, чтобы не выстрелить себе в голову из дробовика после двух месяцев поддержки и звонков из бухгалтерии.
Итак имеется полурабочая считалка на яве (spring, hibernate) - тормозная и глючная. Встаёт вопрос, куда двигаться дальше? Снабдить считалку бодрящей порцией костылей и бегать вокруг неё с подмазкой и клеем, чтобы не разваливалась? Попытаться переписать всё на pl/sql не заехать при этом в дурку после пары циклов отладок всплывающих косяков?
А Есть ли какая-нибудь «золотая середина» между sql и orm? Sql хорош и быстр, но какие-то тонкие вещи делать на нём - это боль. Тем более, если тебя постоянно просят что-то добавить и переделать. На orm легко и просто делать тонкие вещи, добавлять и переделывать логику происходящего, но скорость работы и надёжность оставляют желать лучшего.

★★★★★

Последнее исправление: crutch_master (всего исправлений: 1)

Ответ на: комментарий от vinvlad

Ну, т.е. пригодился-таки SQL, cформированный «ручками»? )))

Ну да, но можно было и без него в принципе. Я сперва хотел сделать выборку через подзапрос, а в hql так нельзя. В итоге сделал тупо на sql, потом подзапрос убрал, и так всё и оставил.

А бывает еще, что даже в собственной SQL-ке могут просто не те индексы цепляться при выполнении запроса и из-за этого скорость выполнения может падать на порядок - тут имеет смысл анализировать план выполнения SQL-запроса.

Да, но там не настолько всё сложно. Совсем тупая оптимизация дала нохерялд процентов прироста. Объекты по id я также дёргаю через hibernate из этого хешмапа, т.к. просто в лом было писать маппинг. Всунул просто костыль в бок и всё завертелось.

Скорее всего, твой предшественник вообще не заморачивался над тем, как извлекаются данные из оракловой базы - он просто по ORM-ной наивности считал, что данные сразу мгновенно в оперативной памяти оказываются )

Да я вообще не знаю, как он ночью нормально спать мог, зная, что у него что-то там по 5 часов считается.

crutch_master ★★★★★
() автор топика
Ответ на: комментарий от Artificial_Thought

Откуда ты знаешь чем я занят? Ты следишь за мной?

crutch_master ★★★★★
() автор топика
Ответ на: комментарий от alex_the_v

Бухло и жопа — это твои излюбленные темы, уебан. Как-то не ново, где-то я это уже читал...))) методичка одна что ли?) я бы тебе, дурилка картонная, ответил по пунктам, но ты пока туповат и недостоин. Соберись с мыслями и напряги головку, которая выше пояса ))

anonymous
()
Ответ на: комментарий от crutch_master

Совсем тупая оптимизация дала нохерялд процентов прироста.

Добро пожаловать в реальный мир. В нём нужно не знать сотни ключей gc или менять один orm на другой, а просто не делать сетевых вызовов в цикле.

maloi ★★★★★
()
Ответ на: комментарий от maloi

Да кривой этот гибернейт. Вот как в нём сделать вложенную коллекцию типа HashMap<Key, List<Value>> без танцев с промежуточными сущностями?

crutch_master ★★★★★
() автор топика
Последнее исправление: crutch_master (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.