Oracle traitant une chaîne vide comme un problème NULL pour un programmeur Java / JPA

Comment gérez-vous cette situation, où l'Oracle stocke la chaîne vide comme valeur null dans la base de données ?

J'aimerais qu'il soit stocké comme une chaîne vide comme il n'est pas NULL, depuis la publication de la requête serait plus facile.

Quelque chose comme cela, sélectionnez la chaîne vide chaîne non vide, mais pas les valeurs null

select * from mytable where myfield like '%';

si je voudrais sélectionner les valeurs null (qui devrait être à l'origine de la chaîne vide), je l'aurais pour sélectionner comme ceci :

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

j'aimerais ne pas faire or myfield is null tout le temps plus tard dans mon sql

La solution actuelle j'ai à l'esprit est de prendre soin de ce au niveau de l'application,
par exemple, dans l'entité, j'initialise tout mon champ de type Chaîne de valeur par défaut d'un espace, par exemple :

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

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

}

Ou peut-être, je peut faire usage d'un nouveau type encore inconnu pour moi à partir d'Oracle 11g, qui peuvent garder une chaîne vide comme elle est, sans la modifier pour la valeur null ?

Merci !

source d'informationauteur bertie | 2011-04-01