2015-01-16 4 views
0

내 데이터베이스에 datetime 형식으로 Grails가 생성 한 새 시간 형식 열을 config라는 테이블에 추가했습니다. 내가 MAX_DURATION의 값을 변경하고 데이터베이스에 저장하려고 할 때Grails : SQL 데이터베이스에 java.sql.Time 형식을 저장하는 방법

이 내 도메인 클래스 내 GSP 페이지에서

import java.sql.Time 
class Config { 
     int nbr_delay 
     Time max_duration 
     static constraints = { 
     } 
} 

<g:field type="time" name="max_duration" value="${fieldValue(bean: configInstance, field: 'max_duration')}" /> 

지금, 그것은 나에게이 오류가 표시 Failed to convert property value of type java.lang.String to required type java.sql.Time for property max_duration; nested exception is java.lang.IllegalArgumentException: Could not parse date: Unparseable date: "00:30"

내 컨트롤러

configInstance.properties = params 
configInstance.save(flush: true) 

이 데이터 형식을 구문 분석하거나 조작하는 방법을 검색했지만 해결책을 찾지 못했습니다.

답변

0

나는 당신이 duration 필드가있는 경우, 분 또는 밀리 초 단위로 저장 int 또는 long를 사용하여 말하고 싶지만 :

<g:formatDate format="HH:mm" date="${new Date(configInstance.maxDuration)}"/> 
: 그럼 당신은 당신의 GSP에서 할 수

import java.sql.Time 
class Config { 

    long maxDuration 

    void setMax_duration(Time time){ maxDuration = time.time } 

    Time getMax_duration(){ new Time(maxDuration) } 

    static transients = [ 'max_duration' ] 
} 

관련 문제