JPA 엔티티 클래스에 문제가 있습니다. 이 엔티티가 완벽하게 작동해야했지만 오늘은 다른 필드 (데이터베이스에 varchar (255)가 아닌 간단한 문자열)를 추가했습니다. 새로운 엔터티를 유지하려고 할 때JPA는 엔티티를 영속화 할 때 필드를 무시합니다.
java.sql.SQLException: Field 'companyLogoUrl' doesn't have a default value
글쎄, 사실입니다. 열에 기본값이 없습니다. 하지만 내 코드에서 나는 그것에 대한 가치를 설정합니다. 생성 된 insert 문을 살펴보면 필드가 없습니다.
변수의 이름이 column-name과 일치하므로 오류가 발생할 수있는 주석이 없습니다. 그것은 잘 작동하는 다른 필드/열처럼 취급됩니다.
미리 도움을 청하십시오!
편집 :
@Entity
class Company extends KupiumEntity
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
final int companyId
String companyName
String bank
String bankCode
String accountNumber
String accountOwner
String companyLogoUrl
@ManyToOne(cascade=CascadeType.PERSIST)
@JoinColumn(name="addressId")
Address address = new Address()
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name="companyId")
List<Invoice> invoices = new ArrayList<Invoice>()
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name="companyId")
List<Kupon> kupons = new ArrayList<Kupon>()
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name="mandatorId")
List<Mandator> mandators = new ArrayList<Mandator>()
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name="companyAppId")
List<CompanyApp> companyApps = new ArrayList<CompanyApp>()
}
편집 : 2 : 혼란을 죄송 여기
클래스 (그루비 클래스)입니다. 테이블의 필드와 열 이름은 'companyLogoUrl'입니다.
엔티티 클래스를 게시하십시오. –
Java 코드/매핑을 확인해야합니다. 어노테이션, getter/setter, 잘못된 수정 자 등의 기존 필드와 새 필드 사이에 * 차이점이 있어야합니다. –
생성 된 SQL과이 클래스가 완전히 일치하는 것처럼 보입니다 ... CHANGEDAT? CREATEDAT? 모든 것이 여기 같은 페이지에 있니? –