개발/spring
[spring-jpa] composite key obtains null after save
방푸린
2022. 7. 25. 18:35
반응형
@Transactional
public void test(){
//entity는 대충 만들어졌다고 침
entity1 = entityRepository.save(new Entity1());
//여기서 save; seq는 mysql-autoincrement
log.info(entity1.seq);
}
//////////////////////////
@Entity
@Table(name = "hd_test")
//@IdClass(Entity1.Pk.class)
public class Entity1 {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private BigInteger seq;
// @Id
private LocalDateTime logDate;
...
}
entity1.seq가 null이 아닌 경우
- @Transactional이 있을 때 / 없을 때 (상관없음)
- entity의 @Id가 seq 한 개 이고 @GeneratedValue = Identity일 경우
- composite key이거나 @GeneratedValue가 없으면 에러 남
참고로 @GeneratedValue는 primary key 일 때만 작동
참고:
https://dogcowking.tistory.com/61
composite id 사용하는 개체 save 후 ID 받기
* 개요 Hibernate 에서 composite key (복합키) 로 선언했을 때 하나의 컬럼은 자동 생성이 가능한가? ex : INSERT 그룹명은 지정해주고, 그룹내 번호는 DBMS 에 의해 자동 생성되는 경우 * 일반적인 composite id
dogcowking.tistory.com
728x90
반응형