Publicado el 11 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 Deja 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.