Publicado el 13 comentarios

Obtener año, mes o día en Oracle.

Para obtener el año, mes y día de la fecha actual del servidor de la base de datos Oracle debes ejecutar las siguientes instrucciones sql:

select to_char(sysdate, ‘YYYY’) from dual;
select to_char(sysdate, ‘MM’) from dual;
select to_char(sysdate, ‘DD’) from dual;

Si lo que quieres es obtenerla de un campo de una tabla, reemplaza sysdate por el nombre de la columna de tipo date (fecha) correspondiente y dual por el nombre de la tabla.

Publicado el Dejar un comentario

Hibernate con Oracle error: Unknown Id.generator: XXXXXXX

Este error ocurre cuando sólo se especifica la anotación @GeneratedValue(generator=”XXXX”, strategy=GenerationType.SEQUENCE) sin especificar enseguida la anotación @SequenceGenerator(name=”XXXX”,  sequenceName=”XXXX”).

Para evitar el error deben estar incluidas las dos anotaciones.

Suponiendo que la secuencia en Oracle se llama “tabla_secuencia” las anotaciones quedarían:

@GeneratedValue(generator=”secuencia”, strategy=GenerationType.SEQUENCE)
@SequenceGenerator(name=”secuencia”, sequenceName=”tabla_secuencia”)

El valor del parámetro name de la anotación SequenceGenerator debe ser el mismo valor que se especifique en el parámetro generator de la anotación GeneratedValue; el valor del parámetro sequenceName debe ser el nombre de la secuencia de la base de datos Oracle.