나는 Hibernate에서 매우 새롭다. 나는 JPA와 함께 Hibernate를 사용하고있다. 주석이 달린 엔티티 클래스와이 엔티티 클래스와 관련된 테이블이 있습니다.최대 절전 모드에서 키 'PRIMARY에 중복 항목'59 '를 제거하십시오.
@Entity
public class Test implements Serializable {
@Id
@GenericGenerator(name="inc" , strategy="identity")
@GeneratedValue(generator="inc")
private int id;
private String address; // setter getter and constructor
}
이 엔티티를 저장할 때 데이터를 db에 삽입합니다. 그러나 응용 프로그램 실행 프로세스 중에 다른 응용 프로그램이 동일한 테이블에 데이터를 삽입하고 있습니다. 내 응용 프로그램이 데이터를 저장하려고 할 때 키 'PRIMARY'예외에 대한 중복 항목 '59'가 생성됩니다. 그래서 데이터를 삽입하고 응용 프로그램 수준이 아닌 데이터베이스 수준에서 ID를 생성 할 수있는 생성기를 사용하려면 ID를 내 엔터티에 저장해야합니다.
발견했다. 하지만 엔티티를 삽입하기 전에 매번 최대 (id)를 얻을 수있는 생성기가 필요합니다. Bcz일지도 모르지만 누군가가 수동으로 테이블에 데이터를 삽입합니다. 그때 테이블 생성기도 실패합니다. 친절하게 안내 해줍니다. –
누군가가 테이블을 직접 업데이트 한 경우 수동으로 ID를 처리해야합니다. 즉, 레코드를 삽입하기 전에 최대 ID를 가져 와서 +1하고 +1하십시오. –