query example createsqlquery create java hibernate collections nullpointerexception return-value

example - java session createsqlquery



El método hibernate query.list() devuelve la lista vacía en lugar del valor nulo (2)

El motivo no es forzar comprobaciones nulas en el código del cliente, en coherencia con Effective Java 2nd Edition , Item 43: Devolver matrices vacías o colecciones, no nulos .

Esto hace que el código del cliente sea más simple y menos propenso a errores (y muy probablemente la implementación del método también).

La expresión de retorno nulo es probablemente un remanente del lenguaje de programación C, en el que las longitudes de matriz se devuelven por separado de las matrices reales. En C, no hay ninguna ventaja al asignar una matriz si se devuelve cero como longitud.

Cuando no hay filas, tanto query.list () como criteria.list () devuelven la lista vacía en lugar de un valor nulo. Cuál es la razón detrás de esto?


Es consistente: se devuelve una lista con todos los resultados, ya sea que los haya o no.