Маршаллинг и демаршаллинг ResultSet: Работа с пустыми строками - PullRequest
1 голос
/ 07 февраля 2012

Когда я создаю экземпляры объектов домена из ResultSet, я должен преобразовать строки, которые являются нулевыми, в пустую строку. И наоборот, при записи в базу данных следует ли преобразовывать пустые строки в нулевые строки?

Какая лучшая практика здесь? Или это просто зависит от приложения?

Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

IMO, вы должны хранить нули как нули.В зависимости от вашей схемы БД, пустая строка и ноль - это два разных значения.Если вы объедините эти значения, ваш код может дать неожиданные результаты, особенно если у вас есть несколько разработчиков, работающих над одной и той же кодовой базой.Возможно, вам придется учитывать оба случая в последующем коде, но это, скорее всего, будет более понятным и более понятным / проверяемым.

2 голосов
/ 07 февраля 2012

Пустая строка, "" является строкой, как и любая другая. Для меня это сохранение "" как NULL имеет такой же смысл, как сохранение "" как '' и сохранение "abc" как NULL.

Итак, сделайте все просто: Сохраните "" как '' и сохраните ссылку null как NULL.


Цитировать справочное руководство MySQL :

Концепция значения NULL является распространенным источником путаницы для новичков в SQL, которые часто думают, что NULL - это то же самое, что и пустая строка ''.

...