2013-04-10 1 views
1

임로 예약어의 사용으로 인해 날짜 형식에 대한 커밋 나는 커밋 (entityManager.getTransaction().commit();)에서 가 에 정의 된 필드를 사용할 때 나는 다음과 같은 오류가 발생 java util의 날짜가있는 엔터티. 무엇이 잘못 되었나요? 데이터를 입력한다오류가 더비 DB로는 EclipseLink를 사용하여 열 이름

코드는 :

Date date = new Date(); 
SimpleDateFormat parsedDate = new SimpleDateFormat("yyyy-mm-dd"); 
date = parsedDate.parse((String) memberValue); 

부재의 값이 다음 값

"from": "2012-12-03" 
"to": "2012-12-03" 

과 날짜를 포함하는 엔티티 모습

@Entity 
@Table(name = "f1_LeaveRequest") 
public class LeaveRequest { 


    @Id 
    @Column(name = "leaverequest_id") 
    private String id; 
    private String type; 
    @Temporal(TemporalType.TIMESTAMP) 
    private java.util.Date from; 
    @Temporal(TemporalType.TIMESTAMP) 

오류를 다음과 같이 is :

Exception in thread "main" javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "FROM" at line 1, column 47. 
Error Code: 20000 
Call: INSERT INTO f1_LeaveRequest (leaverequest_id, FROM, LENGTH, STATE, TO, TYPE) VALUES (?, ?, ?, ?, ?, ?) 
    bind => [6 parameters bound] 

답변

2

필드에 @Column 주석을 표시하고 다른 이름을 지정할 수 있습니다.

@Column(name ="from_timestamp") 
@Temporal(TemporalType.TIMESTAMP) 
private Date from; 
1

FROM이 SQL의 예약어이기 때문에 그럴 것이라고 생각합니다. 필드 이름을 fromDate 또는 fromTimestamp으로 변경하고 문제가 해결되었는지 확인하십시오.

1

FROM은 예약어입니다. fromTime과 같이 의미있는 것을 사용하십시오.

관련 문제