Oracle tratando string vazia como problema NULL para um programador Java / JPA

Como você lida com essa situação em que o Oracle armazena a cadeia vazia como um nulo no banco de dado

Gostaria que ele fosse armazenado como uma string vazia, pois não é tão NULL, pois a emissão da consulta seria mais fáci

Algo assim selecionaria a cadeia vazia e a cadeia não vazia, mas não os valores nulos

select * from mytable where myfield like '%';

se eu gostaria de selecionar também os valores nulos (que deveriam ser originalmente uma string vazia), eu teria que selecionar assim:

select * from mytable where myfield like '%' or myfield is null;

eu adoraria pular fazendoor myfield is null o tempo todo nas minhas declarações sql

A solução atual que tenho em mente é cuidar disso no nível do aplicativo, por exemplo, na entidade, inicializo todo o meu valor padrão do campo String para um espaço, por exemplo:

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

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

}

Ou talvez, eu possa fazer uso de um novo tipo ainda desconhecido para mim do Oracle 11g que possa manter a string vazia como está sem alterá-la para um valor nul

Obrigado

questionAnswers(6)

yourAnswerToTheQuestion