@Column(unique=true) does not seem to work
@Column(unique=true )
private String name; First Solution : ALTER TABLE Customer ADD CONSTRAINT customer_name_unq UNIQUE (name); Second Solution : For future users stumbling on this issue. There are lots of great suggestions here; read through them as well as your error messages; they will be enough to resolve your problem.
A few things I picked up in my quest to get @Column(unique=true) working. In my case I had several issues (I was using Spring Boot, FYI). To name a couple:
- My
application.propertieswas using -
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect - despite using MySQL 8. I fixed this with
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect.- Check your version (I did this through the command line:
mysql> STATUS). - I had a
Userclass annotated as an@entitywhich meant that JPA was trying to create ausertable which is one of MySQL's (as well as postgres) reserved keywords. I fixed this with@Table(name = "users").
Comments
Post a Comment