Как решить «генерирование ошибок PK: объект не поддерживается» при использовании Cayenne
-
24-10-2019 - |
Вопрос
При совершении изменений в контекст 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
Столбец, который является частью первичного ключа некоторых, не имеет значения. Поэтому Кайенн пытается генерировать его, но не знает, как.
Чтобы решить проблему, сделайте одно из следующих.
- Если значение должно быть создано автоматически, скажите Cayenne, как генерировать значение.
- Если это не должно быть сгенерировано, предоставьте значение перед совершением изменений в контексте.
Другие советы
Вам необходимо установить стратегию ключевого поколения в Cayenne Modeler. Документацию можно найти в Кайенская ссылка.
Обычно Cayenne не подвергает PK пользователю в классах объектов объекта. Вы можете переопределить это, но подумайте очень внимательно, прежде чем сделать свой PK значимым.
Не связан с StackOverflow