Cómo resolver "PK de generación de errores: Entidad no es compatible" cuando se usa Cayenne
-
24-10-2019 - |
Pregunta
Al cometer cambios en un contexto de Apache Cayenne, obtengo una excepción como la siguiente.
org.apache.cayenne.CayenneRuntimeException: [v.3.0.1 Sep 06 2010 15:09:38]
Error generating PK : entity not supported: SOME_TABLE
¿Por qué pasó esto?
Solución 2
Una columna que forma parte de la clave principal de Some_Table no tiene valor. Por lo tanto, Cayenne intenta generar uno, pero no sabe cómo hacerlo.
Para resolver el problema, haga uno de los siguientes.
- Si se supone que el valor se genere automáticamente, dígale a Cayenne cómo generar el valor.
- Si no se supone que se genere, proporcione un valor antes de cometer cambios en el contexto.
Otros consejos
Debe establecer una estrategia de generación de claves en el modelador de Cayenne. La documentación se puede encontrar en el Referencia de Cayena.
Normalmente Cayenne no expone el PK al usuario en las clases de entidad de objeto. Puede anular eso, pero piense con mucho cuidado antes de hacer que su PK sea significativo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow