2015-02-18 1 views
1

У меня есть таблица USER с UserId в качестве первичного ключа, который является int и автоматически увеличивается в MySQL.Весна Данные JPA; save() auto increment первичная ошибка ключа

@Id 
@GeneratedValue 
@Column(name="USER_ID") 
private Integer userId; 

Когда я запускаю userRepository.save (пользователь); Я получаю сообщение об ошибке: org.springframework.beans.InvalidPropertyException: Недопустимое свойство 'userId' класса bean [com.mysite.model.User]: Getter для свойства 'userId' выбрал исключение; inested exception is java.lang.reflect.InvocationTargetException

Если я просто закодировал идентификатор пользователя, я не получу эту ошибку. Что я делаю не так?

// hard code it 
user.setUserId(5); 
userRepository.save(user); 

ответ

1

Обнаружена моя проблема: я использовал int в моем сеттере и getter для userId вместо Integer.

1

Вам может понадобиться установить стратегию ID: @GeneratedValue (стратегия = GenerationType.IDENTITY)

То, что вы должны работу, но также может быть изворотливым.

+0

Спасибо, Джон. Я пробовал, не работал. – topcan5

+0

@GeneratedValue (стратегия = GenerationType.AUTO) – darkman