Вопрос

Я пытаюсь сохранить объект в базе данных, используя Cayenne Entity Manager. И, к сожалению, я получаю следующую ошибку:

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

Есть идеи, как я мог бы решить эту проблему? Спасибо.

Это было полезно?

Решение

В случае вашей ошибки мне кажется, что вы выбираете из Cayenne Modeler «стратегия генерации PK» (нажмите на свой DB, пообещающий увидеть Comobox с этой опцией). Это означает, что Cayenne ожидает, что населенная таблица «auto_pk_support» будет присутствовать в вашей схеме (чтобы иметь возможность генерировать и отслеживать первичные ключи).

Cayenne Modeler может генерировать эту таблицу + контент для вас: выберите меню «Инструменты». Создайте его - вы можете скопировать и вставить его в свой любимый инструмент SQL или позволить Cayenne Modeler запустить его.

Поскольку вы используете MySQL, у вас, конечно, также другие параметры генерации PK (вышеуказанное - классический/по умолчанию и работает в любой базе данных, но требует дополнительной таблицы).

Я предлагаю посоветоваться Документация Cayenne Modeler, или лучше Вся кайенская документация (Поскольку это очень хорошо), так как все вышеперечисленные предметы очень хорошо объяснены.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top