powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / null и пустая строка
8 сообщений из 33, страница 2 из 2
null и пустая строка
    #38295188
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczmaytonЯ место появления знаю. 99% это объекты DAO. Переходники MyBatis.
Замечательно. Тогда просто нужно отказываться от абсолютно анемичных сущностей и выносить эти провери туда. Код станет намного проще.

Я правильно понимаю что вы имеете ввиду делать вместо

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
class SomeObjectDAO {
    ...
    public void save(SomeObject someObject) {
        if (someObject == null) { throw new IllegalArgumentException(...); }

        ...
    }
}



делать


Код: java
1.
2.
3.
4.
5.
6.
class SomeObjectDAO {
    ...
    public void save(SomeObject someObject) {
        ...
    }
}



?
...
Рейтинг: 0 / 0
null и пустая строка
    #38295195
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks,

Отчасти. В данном случае DAO является пользователем значения, а не источником. К анемике это имеет мало отношения. Здесь мы просто валидируем входной аргумент, сродни assert-ам, патаясь сделать защиту от нерадивых коллег. Но по хорошему, да. В указаном месте бороться с null значнием уже поздно. По хорошему, ведь, нужно исправить код, который передаёт методу save null значение.
...
Рейтинг: 0 / 0
null и пустая строка
    #38295368
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonivanraЕсли не секрет, в каких именно dbms?
В Oracle.

Да не только он, на самом деле.
...
Рейтинг: 0 / 0
null и пустая строка
    #38295742
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
если следовать вашей логике - решать проблему в корне.
То - строка - не сущность. И нулём \ объектом быть не может. Это простой тип.
И тогда весь код упрощается.
Кстати, это верно, как раз таки на клиенте в Java (по смыслу).
В БД Null означает не введи данные в ячейку памяти.
...
Рейтинг: 0 / 0
null и пустая строка
    #38316245
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу NULL и Varchar (String) в БД Oracle.

Прошу прощения за внезапный Ап.

http://habrahabr.ru/post/127327/ NULL и пустая строка

Здесь Oracle отходит от стандарта ANSI SQL и провозглашает эквивалентность NULLа и пустой строки. Это, пожалуй, одна из наиболее спорных фич, которая время от времени рождает многостраничные обсуждения с переходом на личности, поливанием друг друга фекалиями и прочими непременными атрибутами жёстких споров. Судя по документации, Oracle и сам бы не прочь изменить эту ситуацию (там сказано, что хоть сейчас пустая строка и обрабатывается как NULL, в будущих релизах это может измениться), но на сегодняшний день под эту СУБД написано такое колоссальное количество кода, что взять и поменять поведение системы вряд ли реально. Тем более, говорить об этом они начали как минимум с седьмой версии СУБД (1992-1996 годы), а сейчас уже двенадцатая на подходе.

NULL и пустая строка эквивалентны:

exec test_bool( '' is null ); -- TRUE
...
Рейтинг: 0 / 0
null и пустая строка
    #38316292
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
им конечно виднее, но не понятно почему нельзя ввести новое поведение, а старое подвесить на ключик в конфигурации. ну или наоборот, поскольку куча народу 100% проигнорирует релизные ноуты.

в постгресе так.
...
Рейтинг: 0 / 0
null и пустая строка
    #38316346
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ввести-то можно, но, во-первых баги, а во-вторых мало кто готов искать сколько работающего кода отвалится.
...
Рейтинг: 0 / 0
null и пустая строка
    #38316547
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне вообще троичная а точнее не троичная а логика true-false-null нравится. Очень многие
проверки уходят. Если ввести некое мета-выражение типа ifnull-elsenull-endifnull то
фрагмент кода который я привел выше упрощается и остаётся самое правое выражение
несущее суть а все проверки на NULL уходят в дефолт по линии FALSE.

Дело за малым. Формализовать логику или просто позаимствовать логику условий JOINS
которая уже есть в DBMS Oracle.
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / null и пустая строка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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