Oracle рассматривает пустую строку как проблему NULL для программиста Java / JPA

Как вы справляетесь с ситуацией, когда Oracle сохраняет пустую строку как null в базе данных?

Я бы хотел, чтобы он хранился как пустая строка, так как она не имеет значения NULL, поскольку запрос будет проще.

Что-то вроде этого выберет пустую строку и непустую строку, но не нулевые значения

select * from mytable where myfield like '%';

, если я хочу также выбрать нулевые значения (которые изначально должны быть пустой строкой), мне нужно будет выбрать следующее: например, в сущности я инициализирую все значение по умолчанию для своего поля String пробелом, например:

@Entity
public class MyEntity {
  private String name = " ";

  public void setName(String name) {
    if (isEmptyString(name)) {
      name = " ";
    }
  }
  ...

}

Или, возможно, я могу использовать новый тип, еще неизвестный мне из Oracle 11g, который может сохранять пустую строку, поскольку она без изменения его на нулевое значение?

Спасибо!

11
задан bertie 1 April 2011 в 07:48
поделиться