JPA @Version со встроенным классом - PullRequest
0 голосов
/ 06 июля 2011

У меня определены следующие классы,

@Entity
@Idclass(Key.class)
public void ClassA {

...

@Id
@Version
private long version;

...
}

public class Key {
 ...
 private long version;
 ...
}

При компиляции я получаю следующую ошибку:

"Невозможно определить @Version для встроенного класса"

Таким образом, возможно ли иметь свойство, которое является частью составного ключа, определенного, как указано выше, также иметь @Version.Я попытался добавить @version к свойству в самом классе Id, но все равно это не сработало.

спасибо заранее

1 Ответ

1 голос
/ 06 июля 2011

Это не имеет смысла. Смысл @Version состоит в том, чтобы определить поле, которое механизм JPA будет увеличивать при каждой модификации объекта. Смысл @Id состоит в том, чтобы определить первичный ключ, который должен быть уникальным и неизменным и использоваться для идентификации объекта на протяжении всей его жизни. Таким образом, поле @Version не должно быть частью идентификатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...