내 엔티티 클래스 :최대 절전 모드 : 전략 = 오라클
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="APP_INSTANCE")
public class ApplicationEntity {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="INSTANCE_KEY")
private int INSTANCE_KEY;
//other code
}
내 테이블 구조 :
CREATE TABLE "APP_INSTANCE"
("INSTANCE_KEY" NUMBER NOT NULL ENABLE,
"SYS_ID" VARCHAR2(255) ,
"NAME" VARCHAR2(255) ,
"ENV" VARCHAR2(50) ,
PRIMARY KEY ("APP_INSTANCE_KEY") ENABLE
)
내가 4 최대 절전 모드, 봄 3 사용하고 오라클 database.While 내 응용 프로그램 스피을 실행 오류가 발생했습니다.
03:23:07,380 INFO [STDOUT] Hibernate: insert into USER.APP_INSTANCE (SYS_ID, NAME, ENV) values (?, ?, ?)
03:23:08,271 INFO [STDOUT] WARN : org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 1400, SQLState: 23000
03:23:08,271 INFO [STDOUT] ERROR: org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ORA-01400: cannot insert NULL into ("USER"."APP_INSTANCE"."INSTANCE_KEY")
03:23:08,271 INFO [STDOUT] Exception in saving..
03:23:08,271 ERROR [STDERR] org.hibernate.exception.ConstraintViolationException: could not execute statement
03:23:08,271 ERROR [STDERR] at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:74)
03:23:08,271 ERROR [STDERR] at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
03:23:08,271 ERROR [STDERR] at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
나는 또한 GenerationType.AUTO
을 시도했지만, sequence not found
입니다.
도와주세요. 그 문제는 @GeneratedValue
과 관련되어 있음을 알고 있습니다. 위의 테이블 nad oracle 데이터베이스의 값을 알려주십시오.
지금까지 내가 기억하는대로 GenerationType.SEQUENCE' – Athanor
@Atha가'필요하므로, 오라클은 시퀀스를 사용 : 그래서 난 그냥 내가 필요로 내 개체에 GenerationType.SEQUENCE에 class.Right.DO을 GenerationType.IDENTITY를 교체해야 DB 측에서도 어떤 일을 할 수 있습니까? – VJS