topcan5
topcan5

Reputation: 1707

Spring Data JPA; save() auto increment primary key error

I have a USER table with UserId as primary key, which is int and auto incremented in MySQL.

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

When I run userRepository.save(user); I am getting an error saying: org.springframework.beans.InvalidPropertyException: Invalid property 'userId' of bean class [com.mysite.model.User]: Getter for property 'userId' threw exception; nested exception is java.lang.reflect.InvocationTargetException

If I just hard coded the user id I don't get this error. What am I doing wrong?

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

Upvotes: 6

Views: 15438

Answers (2)

topcan5
topcan5

Reputation: 1707

Found my problem: I was using int in my setter and getter for userId, instead of Integer.

Upvotes: 5

John Thompson
John Thompson

Reputation: 524

You may need to set the ID strategy: @GeneratedValue(strategy=GenerationType.IDENTITY)

What you have should work, but also can be quirky.

Upvotes: 5

Related Questions