Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array 객체
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
Archives
- Today
- In Total
A Joyful AI Research Journey🌳😊
Spring Security: No default constructor for entity 오류 해결) default 지정하기 본문
💻Bootcamp Self-Study Revision✨/Spring, Spring Boot, Java, SQL
Spring Security: No default constructor for entity 오류 해결) default 지정하기
yjyuwisely 2023. 4. 16. 18:49230416
스프링 시큐리티를 이용해서 회원가입 후 로그인 하는 데
계속 아래 오류가 떴었다.
No default constructor for entity: : com.example.demo.model.User
해결책은 내가 만든 User.java에
//adding a default constructor with no arguments to the User class
//will allow Hibernate to instantiate objects of the class during database queries
public User() {
}
이 코드를 적어서 default를 지정해주는 것이다.
User 클래스에 arguments가 없는 기본 생성자를 추가하면 Hibernate가 클래스의 객체를 인스턴스화할 수 있다.
참고: 인스턴스
전체 코드)
package com.example.demo.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
/* The User class in your code represents a user account,
which has attributes such as firstname, lastname, email, password, and roles.
This class is used to 1) store user information in a database, 2) authenticate users,
and 3) authorize access to protected resources in your application.
*/
// 회원 정보를 저장하는 User 엔티티를 만든다. 관리할 회원 정보: fisrtname, lastname, email, password
@Entity //JPA를 사용할 클래스를 명시하며, 테이블과 매핑하는 역할
//email을 통해 유일하게 구분, 동일한 값이 데이터베이스에 들어올 수 없도록 unique 속성을 지정
@Table(name = "user", uniqueConstraints = @UniqueConstraint(columnNames = "email"))
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "firstname")
private String firstname;
@Column(name = "lastname")
private String lastname;
private String email;
private String password;
//adding a default constructor with no arguments to the User class
//will allow Hibernate to instantiate objects of the class during database queries
public User() {
}
public User(String firstname, String lastname, String email, String password) {
this.firstname = firstname;
this.lastname = lastname;
this.email = email;
this.password = password;
}
//MySQL에 숫자로 저장됨
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getfirstname() {
return firstname;
}
public void setfirstname(String firstname) {
this.firstname = firstname;
}
public String getlastname() {
return lastname;
}
public void setlastname(String lastname) {
this.lastname = lastname;
}
public String getemail() {
return email;
}
public void setemail(String email) {
this.email = email;
}
public String getpassword() {
return password;
}
public void setpassword(String password) {
this.password = password;
}
}
728x90
반응형
'💻Bootcamp Self-Study Revision✨ > Spring, Spring Boot, Java, SQL' 카테고리의 다른 글
MySQL: public key retrieval is not allowed 오류) allowPublicKeyRetrieval=true 추가한다. (0) | 2023.04.21 |
---|---|
타임리프 헤더 푸터 사용하기 (0) | 2023.04.19 |
Spring: 뷰 리다이렉션(View redirection): redirect 방식, forward 방식 (0) | 2023.04.15 |
Spring: 의존성 주입(Dependency Injection) 이해하기 (0) | 2023.04.15 |
Comments