Re:Re:Duda en la clase PO al instanciar un nuevo objeto

Inicio Foros Foro principal Desarrolladores Duda en la clase PO al instanciar un nuevo objeto Re:Re:Duda en la clase PO al instanciar un nuevo objeto

#34181
Federico Cristina
Superadministrador

Hermann,

Como estás.
Tu problema radica sencillamente en una cuestión de diseño. En Libertya, toda tabla (salvo excepciones) DEBE contener una columna _ID, que será la PK, cuya numeración es gestionada por MSequence. Esto es en definitiva un autoincremental que se apoya en las secuencias físicas de Postgres.

El seteo manual de identificadores para la columna asociada con la PK no es correcto, y es por ello que no podés lograrlo utilizando las funcionalidades de PO.

Supongo que tu intención es tener una tabla de referencia con ciertos datos de tipo “Clave – Valores”, y en la columna _ID querés cargar las entradas específicas a la Clave (y éstos son ciertos valores específicos). Para ésto, además de la columna _ID, deberías tener una columna Value, a la cual podrás definirle una UK (para evitar repetidos) y cargar en ésta las Claves, pero abstrayéndote de la secuencia de la columna _ID (la cual recordemos es la PK). Luego podrás recuperar el ID mediante una simple sentencia SQL (o implementar un método getIDFromValue() o similar en la subclase M correspondiente).

Mas allá de este comentario, teniendo el código completo de Libertya, podrías ver cómo modificar el core para permitir lo que planteás. Sin embargo, estarías brindando una funcionalidad que me parece no debería ser utilizada.

Saludos,
Federico