티스토리 뷰


JPA에서 복수키 만들기

@IdClass(OhlcvHour.OhlcvHourKey.class)
public class OhlcvHour {

@Id
private String currencyPair;

@Id
private LocalDateTime timeToHours;

@EqualsAndHashCode
@Embeddable
static class OhlcvHourKey implements Serializable {

@Column(columnDefinition = "varchar(10)")
private String currencyPair;

@Column(name = "TIME_TO_HOURS", nullable = false)
private LocalDateTime timeToHours;
}
}

복수키를 만들려면 위와 같이 @Id Annotation을 두개를 붙여준다.

그리고 @IdClass annotation으로 local class를 만들어주어서 붙여주면 복수키를 만들 수 있다.


복수키를 만들때 길이 문제

@Column(columnDefinition = "varchar(10)")
private String currencyPair;


[42000][1071] Specified key was too long; max key length is 1000 bytes

 위 에러가 날 때가 있다 key가 1000 bytes를 넘으면 안된다는 에러이다.


그럴때 위와 같이 해결 할 수 있다.

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함