Pregunta

Estoy tratando de persistir un objeto en la base de datos utilizando Cayenne Entity Manager. Y desafortunadamente recibo el siguiente error:

org.apache.cayenne.CayenneRuntimeException: [v.3.0 Apr 26 2010 09:59:17] Commit Exception

Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'myDatabase.auto_pk_support' doesn't exist

¿Alguna idea de cómo podría resolver este problema? Gracias.

¿Fue útil?

Solución

En el caso de su error, me parece que elige entre Cayenne Modeler la "Estrategia de generación PK" predeterminada "predeterminada" (haga clic en su DB Entita para ver el Comobox con esa opción). Esto significa que Cayenne espera que una tabla "Auto_PK_Support" poblada esté presente en su esquema (para poder generar y realizar un seguimiento de las claves primarias).

Cayenne Modeler puede generar esta tabla + Contenido para usted: Seleccione Desde el menú Herramientas el "Generar esquema de DB", seleccione la conexión correcta y en el siguiente diálogo Seleccione solo la casilla de verificación "Crear soporte PK": - Verá el SQL requerido para Generarlo: puede copiarlo y pegarlo en su herramienta SQL favorita, o dejar que Cayenne Modeler lo ejecute.

Dado que está utilizando MySQL, por supuesto, también tiene otras opciones de generación PK (la anterior es la clásica/predeterminada y funciona en cualquier base de datos, pero requiere una tabla adicional).

Sugiero consultar el Documentación del modelador de Cayenne, o mejor el Documentación completa de Cayenne (ya que es muy bueno) ya que todos los artículos anteriores se explican muy bien allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top