음, 내 바보 같은 질문입니다.JSR-310 연도가 MySQL의 TINYBLOB에 매핑되었습니다.
내 Year
열은 직관적 인 int
열 대신에 tinyblob
에 매핑됩니다 (Hibernate 5.1 (5.2 동일)). 다른 JSR-310 열이 성공적으로 매핑되었습니다.
예.
@Column(name = "ANNO_PROTOCOLLO", nullable = true)
protected Year annoProtocollo;
@Column(name = "CREATED", nullable = false, updatable = false, insertable = true)
protected LocalDateTime created = LocalDateTime.now();
첫 번째 열 tinyblob
매핑되지만 번째 올바르게 같은 값에 대한 SQL 표준이다 datetime
매핑된다.
다시 내 질문은 그 년 열을 int로 선언 할 수 없기 때문에 바보입니다. 그러나 이것의 원인을 이해하고 싶습니다. 코드 3 줄 미만이 걸린다면을 매핑하십시오. int에서 년. 나는 여러 데이터베이스에 작업을해야하기 때문에, 나는 @Column(columnDefinition)
을 받아 들일 수없고, 그 유일한 해결책 인 경우 그냥 정수를 사용하고 내가
JDBC는 LocalDate, LocalDateTime, LocalTime, OffsetDateTime 및 OffsetTime에 대한 데이터 유형 매핑을 정의합니다. 'Year'유형은 그런 유형이 아닙니다 (SQL 표준에는 해당 유형이 없습니다). –
고마워요 @ MarkRotteveel, 귀하의 의견은 상황을 분명히 지적합니다. 이제, 추측의 관점에서, 당신은 ** 개인적으로 ** int가 올바른 매핑 일 수 있다는 것에 동의합니까? 단지 토론 목적으로, 내 열을 Integer asap로 수정하려고합니다. –
@MarkRotteveel Java 9에 있나요? JDBC 4.2 (Java 8)에서는 새로운'java.time' 클래스에 대한 매핑을 정의하지 않기 때문에 제가 찾을 수있는 한 멀리 있습니다. – Andreas