'duplicated bit columns in table mysql
I can't bind a variable in the model to a column in the database, when creating a variable in the model, spring creates a new column. I need this to implement locking using spring security. How to solve such a problem?
MySQL query:
CREATE TABLE users(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nickname VARCHAR(255) NOT NULL UNIQUE,
email VARCHAR(255) NOT NULL UNIQUE,
phone VARCHAR(255) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
accountNonLocked BIT NOT NULL DEFAULT 1
)
ENGINE=InnoDB;
Model:
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private int id;
@Column(name = "nickname")
@Length(min = 5, max = 12,
message = "Имя должно быть не меньше 5 и не более 12 символов")
private String nickname;
@Column(name = "password")
@Pattern(regexp = "^(?=.*[0-9])(?=.*[a-z])(?=\\S+$).{6,}$",
message = "Пароль должен содержать хотя бы 1 цифру и 1 символ и быть не менее 6 символов")
private String password;
@Column(name = "phone")
@Pattern(regexp = "^((8|\\+7)[\\- ]?)?(\\(?\\d{3}\\)?[\\- ]?)?[\\d\\- ]{7,10}$",
message = "Введите действующий номер телефона")
private String phone;
@Column(name = "email")
@NotBlank(message = "Введите адрес вашей почты")
@Email(message = "Введите действующий адрес почты")
private String email;
@Column(name = "accountNonLocked")
private boolean accountNonLocked;
@ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
@JoinTable(name = "user_roles", joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "role_id"))
private Set<Role> roles;
@OneToMany(mappedBy="user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<Order> orders;
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|

