2012-06-15 3 views

ответ

3

Если вы читаете спецификацию JPA, вы обнаружите, что @GeneratedValue предназначен для полей первичного ключа, поэтому на самом деле нет. Однако DataNucleus JPA (что пользователь выбрал) не позволяет @GeneratedValue на любое поля (расширение для JPA спецификации)

2

@GeneratedValue не зависит от @Id.

Другими словами, да, у вас может быть автоинкремент, который не является идентификатором.

Возможно, вы пробовали это самостоятельно.

+0

Я попытался @GeneratedValue (стратегия = GenerationType.SEQUENCE), он будет генерировать уникальное свойство? –

+0

Уникальные ограничения имеют свою собственную анотацию (что-то вроде @Unique). GeneratedValue - это только то, как автоматически устанавливать значения поля. – SJuan76

+0

@ SJuan76 Предложите прочитать раздел спецификации JPA 11.1.17 «Аннотации GeneratedValue обеспечивают спецификацию стратегий генерации для значений первичных ключей». – DataNucleus