2017-11-16 4 views
0

JDBC를 사용하는 기존 MySQL DB에 액세스하는 앱을 보유하고 있으며 JPA로 변환 중입니다. 내 DB는 이미 자동 생성 된 기본 키로 설정되어 있습니다. DB에 이미 정의되어 있으면 엔티티 클래스 w/@Id, @GeneratedValue ...에 주석을 달아야합니까? 주석이 이미 정의 된 DB 기본 키/색인과 중복되거나 충돌합니까?JPA @ 해당 @GeneratedValue 주석 대 DB 기본 키?

답변

0

여러분이 MySQL에서 자 동 번호를 사용하고 있으며 자동 생성되었다고 가정합니다.

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Basic(optional = false) 
@Column(name = "table_id") 

을 주목 GenerationType.IDENTITY 전략 :

다음 코드는 당신이 필요로 무엇을 할 것인가? 이것은 JPA에게 자동 생성 된 데이터베이스 값을 사용하도록 지시합니다.

+0

GenerationType.IDENTITY 전략을 사용합니다. 이미 개체 ID 기본 키 w/auto_increment를 사용하여 DB를 만들었습니다. MySQL auto_incremement와 JPA @GeneratedValue가 충돌하지 않도록하고 싶었습니다. 감사! – HoosierDude

2

DB 기본 키와 JPA 주석과 충돌하지 않습니다. 기본 키가 이미 색인화되었으므로 전혀 문제가되지 않습니다.

엔티티 클래스에 주석을 추가해야합니다. 이미 정의 된 DB와 충돌하지 않습니다. 새 DB 환경에 시스템을 배포하면 주석이 필요합니다.

+0

확인해 주셔서 감사합니다. 나는 이것을 사실이라고 생각했지만 확인을 얻는 것이 좋다. – HoosierDude