In the project that I am doing, I want to check if a record with the same data already exists in a specific field in the database, if it already exists then do not insert, if it does not exist that does insert, I am searching the way to reach the expected result, but I don't know if there are other alternatives to obtain the result I expect.
This is my code that I am using.
Entity:
@Entity
@Table(name = "users")
public class Users {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_user")
private Long idUser;
@Column(name = "user", nullable = false, length = 150)
private String user;
@Column(name = "code_number", nullable = false, length = 10)
private String codeNumber;
public Long getIdUser() {
return idUser;
}
public void setIdUser(Long idUser) {
this.idUser = idUser;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getCodeNumber() {
return codeNumber;
}
public void setCodeNumber(String codeNumber) {
this.codeNumber = codeNumber;
}
}
Query/Repository:
@Query(nativeQuery= true, value="SELECT DISTINCT(code_number) FROM users WHERE code_number= :codeNumber")
boolean findByCodeNumber(String codeNumber);
Conditional:
public String processUserRegister(Users users) {
if(repo.findByCodeNumber(users.getCodeNumber())) {
return "redirect:/error";
} else {
return "redirect:/success";
}
}
There are few points that you are missing here