ID 열 설정 가능한 I는 MySQL을 사용하고 다음과 같은 기업이있어 : 그러나JPA : 모두 자동 및 수동으로
class MyEntity {
@Id
@GeneratedValue(strategy=IDENTITY)
@Column(name="id")
private Integer id;
}
을, 나는 아직도 수동으로 ID를 설정할 수 있도록하고 싶습니다!
문제는 INSERT가 절대로 id 열을 삽입하지 않는다는 것입니다.
MyEntity e = new MyEntity();
e.setId(15);
em.persist(e);
em.flush();
em.refresh(e);
다음 쿼리가 될 것이다 :
INSERT INTO myEntities (col1, col2, col3) VALUES (?, ?, ?)
SELECT id, col1, col2, col3 FROM myEntities WHERE (id = 15)
을 이같이 ID는 여전히 자동으로 생성되며 EntityNotFoundException
의 refresh()
것 결과, 예를 들어, 때 이 일.
@GeneratedValue
을 설정하지 않으면이 경우는 인데도 작동하지만 값이 자동 생성되면 LAST_INSERT_ID()
은 호출되지 않습니다.
id 열을 수동으로 설정할 수도 있고 을 MySQL에서 자동으로 설정할 수도 있습니까?
고마워, 그거 알아두면 좋을거야. JPA 2에서 이것을 변경할 계획이 있는지 알고 계십니까? –