Как решить «Ошибка генерации PK: объект не поддерживается» при использовании Cayenne - PullRequest
1 голос
/ 24 января 2011

При фиксации изменений в контексте Apache Cayenne я получаю исключение, подобное следующему:

org.apache.cayenne.CayenneRuntimeException: [v.3.0.1 Sep 06 2010 15:09:38] 
Error generating PK : entity not supported: SOME_TABLE

Почему это происходит?

Ответы [ 2 ]

1 голос
/ 12 мая 2011

Вам необходимо установить стратегию генерации ключей в Cayenne Modeler. Документацию можно найти в справочнике Cayenne .

Обычно Cayenne не предоставляет PK пользователю в классах Object Entity. Вы можете изменить это, но подумайте очень внимательно, прежде чем придать смысл своему ПК.

0 голосов
/ 24 января 2011

Столбец, являющийся частью первичного ключа SOME_TABLE, не имеет значения.Поэтому Cayenne пытается его сгенерировать, но не знает, как это сделать.

Для решения проблемы выполните одно из следующих действий.

  • Если предполагается, что значение генерируется автоматически, скажите Cayenne, как сгенерировать значение.
  • Если оно не должно быть сгенерировано, укажите значение перед фиксацией изменений в контексте.
...