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