powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Удаление записей соответствующих условию из БД в Hibernate
25 сообщений из 168, страница 5 из 7
Удаление записей соответствующих условию из БД в Hibernate
    #39972459
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha
mayton
Он - реализует SingleResp?

у него нет реализации, только контракт. его имплементация может как соблюдать так и нарушать

хотя с другой стороны, наличие кучи методов с интересными названиями может уже и в интерфейсе намекать о нарушении

Хорошо. Тогда я предложу такое определение.

Классы, реализующие функциональные интерфейсы (ФИ) обладают SingleResp в рамках методов ФИ.

Пример ФИ : Function<T,R>, Consumer<T>, Supplier<T>.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972466
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
но не обосновал.
Не стал повторять аргументы мистера Брукса, изложенные в книге "Мифический человеко-месяц".А счас пишут проекты большой группой?В основном - работу работают. А это - всегда быстро. А большая группа - основной способ сделать быстро.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972467
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Хорошо. Тогда я предложу такое определение.

Классы, реализующие функциональные интерфейсы (ФИ) обладают SingleResp в рамках методов ФИ.

Пример ФИ : Function<T,R>, Consumer<T>, Supplier<T>.

х.з., ну наверное :) , скажем так, в их контракте ничто не предвещает. впрочем как и в предыдущем примере
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972479
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
PetroNotC Sharp
но не обосновал.
Не стал повторять аргументы мистера Брукса, изложенные в книге "Мифический человеко-месяц".А счас пишут проекты большой группой?
В основном - работу работают. А это - всегда быстро. А большая группа - основной способ сделать быстро.
Как и было. Кодировщик делает строго по ТЗ. Программист каждую строчку думает как лучше - художник.
Есть как первые так и вторые всегда и везде.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972481
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Давайте вот посмотрим на этот интерфейс.

Код: java
1.
2.
3.
4.
5.
interface IConverter {

 @NotNull Object from(@NotNull Object object);

}




Он - реализует SingleResp?


Интерфейс ничего не реализует :)

Но интерфейс следует по контракту SoR, так как выполняет только одну задачу: конвертирует экземпляр одного типа в другой тип (или тот же, в контракте не декларируется).
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972483
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Видишь ли в чем дело тут.... Модульный тест просто показывает наличие какого-то то свойства у модуля.

Мне кажется что НЕДОСТАТОЧНО будет показать просто тесты.

Тут нужно наверное зайти со стороны базового интерфейса например. А тогда зачем тесты?


Юнит-тесты тестируют реализацию (юнита).
Интерфейсы же позволяют протестировать конкретную реализацию изолировано от зависимостей.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972486
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Говори - простт классы. Зачем добавка про интерфейсы?
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972487
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот как прекрасно. Тоесть если мы слегка поднажмём на контракт - то получим в правой руке искомое.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972495
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разумеется многие посмотрев на код скажут. Mayton ты што опух? Тут и так воочию видно (очевидно) что этот чортов класс
Single-Resp. Я говорю - окей. Допустим я опух. Можно эту очевидность формализовать? Один вариант предложил Хвост.
Он считает что надо тестировать и через тестовые сценарии доказывать что там БОЛЬШЕ ничего нет. Кроме того что надо.
Я говорю окей. А можно декларативно? Тоесть мы можем так декларировать класс чтоб... .комар носа не подточил!
Чтоб..... Броня!!! Чтоб как каменюка стояла это панимаешь сингле-респонсибилити.

Хотя я понимаю что вы обычно не юзаете реализации с 1 методом и на практике все равно будет 100500 методов.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972498
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Разумеется многие посмотрев на код скажут. Mayton ты што опух? Тут и так воочию видно (очевидно) что этот чортов класс
Single-Resp. Я говорю - окей. Допустим я опух. Можно эту очевидность формализовать? Один вариант предложил Хвост.
Он считает что надо тестировать и через тестовые сценарии доказывать что там БОЛЬШЕ ничего нет. Кроме того что надо.


Был вопрос про метрику оценки, я сказал пример такой метрики: тесты.
Однако юнит-тесты пишутся не для этой метрики, это просто дополнительный бонус.

mayton
Я говорю окей. А можно декларативно? Тоесть мы можем так декларировать класс чтоб... .комар носа не подточил!
Чтоб..... Броня!!! Чтоб как каменюка стояла это панимаешь сингле-респонсибилити.


Это принцип, нарушение которого приводит к увеличению сложности и другим неприятным эффектам. Вывели эти принципы эмпирическим путём. В общем-то любые методики, методологии и практики были выведены для того, чтобы не наступать на грабли, которые отбили лоб не одной тысяче людей.

mayton
Хотя я понимаю что вы обычно не юзаете реализации с 1 методом и на практике все равно будет 100500 методов.


Речь не в количестве методов. А об программной ответственности. Не так сложно понять, решает ли класс одну конкретную задачу, или несколько слабо связанных задач.

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

Полагаю на заре дисциплины, декомпозиция программы на процедуры могла вызывать такой же батхёрд у мамонтов программирования с их километровыми листингами, напичканными GOTO
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972499
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Ну и самое главное. Как же применять SOLID на практике?
Кого не спросишь:

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

Да-да, написав каждую строчку кода сижу и задумываюсь, а соответствует ли он солиду, солидный ли мой код? )))

Но ответ лежит на поверхности, особенно для людей, работающих в команде с применением код ревью.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972546
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хвост. Я тебе честно скажу что я SOLID иногда нарушаю. Ну просто не всегда удаётся следовать такому себе
философскому идеалу. Тут еще трудность в том что когда в код смотрят 2 человека, каждый из них видит своё.

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

Вот давай щас пойдем в гитхаб и рандомно начнем смотреть classes и я готов спорить что мы не придем
к единому мнению даже по поводу Single-Resp. Этож надо еще смотреть в семантику кода. В развитие.
В то что было написано и то что имелось в виду.

И это мы еще только первую букву (S) разбирали.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972550
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

что, даже при реализации такого шаблона как репозиторий не получается следовать приниципу единственности ответственности?
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972552
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто SOLID я упомянул в контексте реализации репозитория, а дискуссию развили так, что типа SOLID - это философский идеал.
И типа напрашивается вывод, что даже пресловутый репозиторий фиг напишешь по этим принципам
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972558
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Хвост. Я тебе честно скажу что я SOLID иногда нарушаю.


Звучит как признание в нарушениях ПДД )

mayton
Ну просто не всегда удаётся следовать такому себе философскому идеалу. Тут еще трудность в том что когда в код смотрят 2 человека, каждый из них видит своё.


SOLID лежит сугубо в практической и только практической плоскости.
Ничем философским тут не пахнет и в помине :)

Насчёт того, что видят каждый своё, ну а как в таких условиях вы собираетесь вести командную работу в принципе? Типа два художника каждый со своим больным воображением пришли рисовать единую картину?

mayton
Вот давай щас пойдем в гитхаб и рандомно начнем смотреть classes и я готов спорить что мы не придем
к единому мнению даже по поводу Single-Resp. Этож надо еще смотреть в семантику кода. В развитие.
В то что было написано и то что имелось в виду.


Популярные проекты на гитхабе зачастую отличаются очень высоким качествам.

mayton
И это мы еще только первую букву (S) разбирали.


Ну так вот и хотелось бы разобраться, какие у вас есть с ней проблемы.

Вполне уместно рассмотреть на примере репозитория, о чём говорит skyANA.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972630
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
В java в отличии от шарпа есть JPA.
И поэтому пример от skyANA мимо.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972744
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
В java в отличии от шарпа есть JPA.


Нашлёпка какая-то над хибером c нетипизированными JPQL запросами :)

В .NET это Entity SQL. Ну и при большой любви к хиберу можно подключить NHibernate и писать HQL )
Не исключаю, что стырили идею как раз из JPA.

Но какой смысл писать объектные запросы, если нет информации о типах, как в LINQ? Ни тебе статической проверки на этапе компиляции, ни интеллисенса (хотя может идея как-то умеет, не исключаю).

Фишка LINQ, что написанный запрос может как транслироваться в БД, так и оперировать самыми обычными коллекциями объектов в памяти. Универсально.

Если уж писать запросы в строках, то имеет смысл писать из БД, а не к промежуточной нашлёпке.



PetroNotC Sharp
И поэтому пример от skyANA мимо.


Т.е. если у тебя есть JPA, тебе не нужен репозиторий? )))
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972749
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
PetroNotC Sharp
В java в отличии от шарпа есть JPA.

Нашлёпка какая-то над хибером c нетипизированными JPQL запросами :)

Хвост я думаю что ты что-то неверно сформулировал. Или если мы дадим определение JPA/Hibernate - у нас
появятся корректировки и дополнения к твоей фразе.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972765
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Хвост я думаю что ты что-то неверно сформулировал. Или если мы дадим определение JPA/Hibernate - у нас
появятся корректировки и дополнения к твоей фразе.


А что не верно в формулировке? JPA это спецификация, при чём языка JPQL основан на HQL. Hiber реализует JPA.

Скорректируешь?
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972784
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто ты написал - нашлёпка. А спека не может быть нашлёпкой. Вот я и засомневался.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972831
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Просто ты написал - нашлёпка. А спека не может быть нашлёпкой. Вот я и засомневался.


Ясно ) Ну нашлёпка же, над хибером. При чём если ты используешь расширенные возможности хибера, то смысл в спецификации становится всё менее ценным, так как на другую реализацию уже перейти не получится в принципе.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972931
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
языка JPQL основан на HQL

- одновременно с Hibernate появилась спецификация Java Data Objects (JDO) и JDOQL, так что кто там на ком основан вопрос в принципе темный

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

- значит, при наличии планов смены ORM, надо следовать спецификации JPA
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972947
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov
- одновременно с Hibernate появилась спецификация Java Data Objects (JDO) и JDOQL, так что кто там на ком основан вопрос в принципе темный


Почему же тёмный?

https://en.wikipedia.org/wiki/Java_Persistence_Query_Language

JPQL is based on the Hibernate Query Language (HQL), an earlier non-standard query language included in the Hibernate object-relational mapping library.

Hibernate and the HQL were created before the JPA specification. As of Hibernate 3 JPQL is a subset of HQL.

Опять врут и темнят? )
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972948
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov
- значит, при наличии планов смены ORM, надо следовать спецификации JPA


Да смена ORM это вообще мифическая фича, кто в здравом уме в большом живом проекте будет менять ORM? Даже со сменой СУБД будут явые проблемы.

Это так, небольшой наброс )
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39972983
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

>Т.е. если у тебя есть JPA, тебе не нужен репозиторий? )))
Он и в шарпе не нужен. Он уже написан в EF. Это skyANA носится с ним по всем веткам.
...
Рейтинг: 0 / 0
25 сообщений из 168, страница 5 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Удаление записей соответствующих условию из БД в Hibernate
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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