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

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

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

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


person henko    schedule 24.01.2011    source источник


Ответы (2)


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

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

person Ari Maniatis    schedule 12.05.2011

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

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

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