En mi aplicación de base de datos a veces tengo que ocuparme de cadenas null
en la base de datos. En la mayoría de los casos, esto está bien, pero cuando se trata de mostrar datos en un formato, los componentes Swing, por ejemplo, usando JTextField
, no pueden manejar cadenas nulas. (.setText(null)
falla)Práctica recomendada para manejar cadenas nulas desde la base de datos (en Java)
(EDIT: Acabo de notar que JTextField
realidad acepta una cadena null
, pero la pregunta sigue siendo para todos los demás casos en los inesperados null
valores pueden conducir a problemas.)
Los valores nulos tienen sin significado especial, pueden (deben) tratarse como cadenas vacías.
¿Cuál es la mejor práctica para resolver este problema? Desafortunadamente no puedo cambiar la base de datos.
- Comprobación de todos los valores si es
null
antes de llamarsetText()
? - ¿Agregar un controlador try-catch a cada llamada
setText()
? - Presentamos un método estático que filtra todas las cadenas
null
? - ¿Reemplazar todos los valores
null
para vaciar cadenas inmediatamente después de leer desde la base de datos? - ... [sugerencias]
¡Tienes que tener cuidado al escribir los datos en la base de datos, ya que insertarás una cadena vacía en lugar del valor NULO! – Ruben
I creo que es la mejor solución, pero cambiaré el getter. (Supongo que eso es lo que querías decir) –
Creo que Marko es el setter ya que es utilizado por la mayoría de las herramientas ORM, por ejemplo hibernate, para poner los valores de la base de datos en las instancias. Cuando use el captador, debe tener cuidado con los efectos secundarios en la base de datos cuando use una herramienta ORM. – Ruben