스프링 기본 리포지토리를 사용하여 개체를 유지하려고 할 때 왜 어떤 것이 작동하지 않는지 파악하는 데 문제가 있습니다. 난 내 지속성 레이어 및 봄 MVC 프레임 워크로 최대 절전 모드를 사용하고 있습니다. JPA 대신 하이버 네이트 매핑 파일을 사용합니다.SQL 오류 : 1366 잘못된 정수 값 Spring MVC 최대 절전 모드
내가보고하고 오류는 다음
WARN : org.hibernate.util.JDBCExceptionReporter - SQL Error: 1366, SQLState: HY000
ERROR: org.hibernate.util.JDBCExceptionReporter - Incorrect integer value: '\xAC\xED\x00\x05sr\x00!com.kwhours.butternut.domain.Type\xCF;\xBF\xEF\x8A\x82\x87\xF1\x02\x00\x0DZ\x00\x06isLeafI\x00\x05levelL\' for column 'type_id' at row 1
내가 JPA는 그 코드의 관련 부분을 주석 도메인 객체를 유지하기 위해 시도하고 있습니다 :
@Entity
@Table(name = "question")
public class Question implements java.io.Serializable {
private Type type;
@Column(name = "type_id")
public Type getType() {
return this.type;
}
public void setType(Type type) {
this.type = type;
}
}
나는 외국인이 key 제약 조건을 question.type_id 열에서 type.id 열로 올바르게 설정합니다. 내 개체를 모두 코드에 올바르게 표시하도록 할 수는 있지만 다음 저장소에서 개체를 유지하려고하면 앞에서 언급 한 오류가 발생합니다.
public interface QuestionRepository extends CrudRepository<Question, Long> {
public List<Question> findByDatasetInstanceId(Long datasetInstanceId);
}
분명해야합니다. 새로운 질문 객체를 만들고 저장소를 사용하여 db에서 유형 객체를 검색 할 수 있습니다. 이 새로운 유형의 객체에 questions.type을 설정할 수는 있지만 위의 저장소를 사용하여 해당 유형을 포함하는 질문을 지속하려고 시도 할 때마다 그 오류가 발생합니다. 디버거에서 유형 객체를 체크 아웃하고 거기에 아무런 문제가없는 것 같습니다. 모든 단서 또는 제안이 도움이됩니다. 어떤 종류의 이스케이프 문자 시퀀스처럼 보이지만 실제로는 잘 모르겠습니다.
http://stackoverflow.com을 삽입하는 삽입 아니라 tryign하는 유형 ID를 복용하지 않은/question/2762416/can not-insert-non-latin-symbols-in-mysql – invariant
데이터베이스에 Java Long 및 Bigint (20) 형식의 객체 ID를 삽입하려고합니다. 여기에 잘못 인코딩 된 문자열이없고 그 id는 데이터베이스 자동 증가로 인해 생성되므로 mysql이 읽을 수없는 인코딩으로 ids를 생성하는 것은 의심 스럽습니다. – flips
또한'Type' 클래스를 게시하십시오. –