@Entity 사용 유의사항 1. @Entity를 매핑해서 사용할 클래스는 기본생성자는 필수다(public 또는 protected 생성자) JPA 구현체들은 클래스의 인스턴스를 생성할 때 기본 생성자를 필요로 한다. 기본 생성자가 없으면 JPA 구현체가 클래스의 인스턴스를 생성할 수 없다. 또한 JPA는 성능 최적화를 위해 프록시 패턴을 사용하는데 프록시 객체를 생성하는데 기본 생성자가 필요하다. 2. Final 클래스, enum, interface, inner 클래스에는 사용할 수 없다. Final 클래스는 상속이 안되므로 프록시 객체를 생성하지 못한다. 3. DB에 저장할 필드에 final을 사용하면 안된다. JPA는 엔티티를 영속성 컨텍스트에서 관리하고 데이터베이스와 상호 작용할 때 필드의 값을 ..