티스토리 뷰


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를 넘으면 안된다는 에러이다.


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

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함