JPA 설정 sqlserver 데이터 소스 모드에서 "***"근처에 문법 오류가 발생했습니다.

1668 단어
최근에 JPA의 데이터 원본을 sql 서버로 사용해야 하기 때문입니다.구성이 성공적으로 완료된 후 서비스 계층에서 기본 Dao 계층 인터페이스를 호출하는 동안 오류가 발생했습니다.
"10"근처에 문법 오류가 발생했습니다.오류는 틀림없이 sql 서버 데이터에서 sql 문장을 조회하는 데 문제가 있고 문법 오류입니다.
해결 방법:
A: JPA 프레임워크 때문에 Dao의 데이터베이스 작업 문장을 모두 봉인했습니다.일반적인 상황에서 ql 문장을 볼 수 없습니다.그래서 JPA 설정 데이터베이스 파일을 바탕으로 sql 문장 출력 설정을 합니다.
저는 jdbc입니다.properties 파일에서 다음을 설정합니다.
    jpa.showSql=true    #  JPA                。

B:그리고 프로그램을 다시 실행합니다. 컨트롤러에서 sql 문장을 추출하여 sql 서버 클라이언트에서 실행합니다.결과는 여전히'10'부근에 문법 오류가 있었다.그래서 지금 이 ql문장의 문법을 관찰해야 합니다.
이 ql문은 다음과 같습니다.
   select erpinvento0_.CINVCODE as CINVCODE1_31_,
    erpinvento0_.I_ID as I2_31_,
    erpinvento0_.BACCESSARY as BACCESSA3_31_, 
    erpinvento0_.BATOMODEL as BATOMODE4_31_,
    erpinvento0_.BBARCODE as BBARCODE6_31_, 
    erpinvento0_.BBILLUNITE as BBILLUNI7_31_,
    erpinvento0_.BBOMMAIN as BBOMMAIN8_31_,
    erpinvento0_.BFREE2 as BFREE41_31_, 
    erpinvento0_.BFREE3 as BFREE42_31_, 
    erpinvento0_.BFREE4 as BFREE43_31_, 
    erpinvento0_.BFREE5 as BFREE44_31_, 
    erpinvento0_.bFree5 10 as bFree45_31_, ........

이 ql문장을 관찰하면 마지막 줄 bFree5 10에 빈칸이 많아서 ql문장 문법 오류가 발생했습니다.
C:지금 여기에 문제가 있음을 알았습니다. 그러면 이 ql의 BFree5 10은 JPA 실체 맵의 속성 필드에 대응합니다.그러면 실체가 JPA에 비치는 과정에서 문제가 생긴다.엔티티 구성을 보려면 다음과 같이 하십시오.
4
@Column(name = "BFREE5 10", precision = 22, scale = 0)
public BigDecimal getBfree10() {
	return this.bfree10;
}
실체가column 주석에 있는name 속성 설정에 빈칸이 많아서 데이터베이스에 비추어 조회 문장을 생성할 때 A의 sql 조회가 발생했고'10'부근에서 문장 오류가 발생했다.
마지막으로, 이column 이름 필드 정보를 다시 설정해서 정확하게 일치시켜야 합니다.Dao 베이스에서 조회할 때 정상적으로 조회할 수 있습니다.

좋은 웹페이지 즐겨찾기