Question

Je suis en train de persister un objet dans la base de données à l'aide de Cayenne Entity Manager. Et malheureusement, je reçois l'erreur suivante:

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

Toute idée comment je pourrais résoudre ce problème? Merci.

Était-ce utile?

La solution

Dans le cas de votre erreur, il vous me semble que choisir de Cayenne Modeler le « default » « PK Stratégie de production » (Cliquez sur votre DB pour voir le Entités mises comobox avec cette option). Cela signifie que Cayenne s'attend à une population table « auto_pk_support » pour être présent dans votre schéma (afin d'être en mesure de générer et de garder trace des clés primaires).

Cayenne Modeler peut générer ce contenu de table + pour vous: sélectionnez dans le menu Outils du « Générer DB schéma », sélectionnez la connexion droite et de la boîte de dialogue suivante sélectionnez uniquement la case à cocher « Créer PK Support »: - vous verrez le SQL nécessaire pour générer - vous pouvez copier et le coller dans SQL vous outil préféré, ou laisser courir Cayenne Modeler il

.

Puisque vous utilisez MySQL, vous avez bien sûr d'autres options de génération de PK trop (ci-dessus est celui classique / par défaut et fonctionne sur une base de données - mais nécessite une table supplémentaire).

Je vous suggérons de consulter le documentation Cayenne Modeler, ou mieux la ensemble de documentation de poivre de Cayenne (car il est très bon) que tous les éléments ci-dessus, il est très bien expliqué.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top