내 ORMLite 사용자 지정 지속 기가 Android에서 작동하지 않는 이유는 무엇입니까?

마이크 B

LocalTimeJoda Time 에서 클래스에 대한 사용자 지정 지속 기를 작성했습니다 .

public class LocalTimePersister extends BaseDataType {

    private static final LocalTimePersister instance = new LocalTimePersister();

    private LocalTimePersister() {
        super(SqlType.LONG, new Class<?>[] { LocalTime.class });
    }

    public static LocalTimePersister getSingleton() {
        return instance;
    }

    @Override
    public Object javaToSqlArg(FieldType fieldType, Object javaObject) {
        if (javaObject == null) {
            return null;
        } else {
            return ((LocalTime) javaObject).millisOfDay();
        }
    }

    @Override
    public Object resultToSqlArg(FieldType fieldType, DatabaseResults results, int columnPos) throws SQLException {
        return results.getLong(columnPos);
    }

    @Override
    public Object parseDefaultString(FieldType fieldType, String defaultStr) throws SQLException {
        return Long.parseLong(defaultStr);
    }

    @Override
    public Object sqlArgToJava(FieldType fieldType, Object sqlArg, int columnPos) throws SQLException {
        Long millis = (Long)sqlArg;
        if (millis == null) {
            return null;
        } else {
            return LocalTime.fromMillisOfDay(millis);
        }
    }
}

LocalTime멤버 가있는 클래스 는 다음과 같이 선언했습니다.

@DatabaseField(canBeNull = false, persisterClass = LocalTimePersister.class)
private LocalTime time;

그리고 내 데이터베이스 구성 파일을 다시 생성했습니다.

# --field-start--
fieldName=time
canBeNull=false
persisterClass=com.myapp.db.persisters.LocalTimePersister
# --field-end--

LocalTime필드 가있는 개체를 만들고 DB에 추가하려고하면 다음 예외가 발생합니다.

java.lang.ClassCastException: org.joda.time.LocalTime$Property cannot be cast to java.lang.Number
        at com.j256.ormlite.android.AndroidDatabaseConnection.bindArgs(AndroidDatabaseConnection.java:345)
        at com.j256.ormlite.android.AndroidDatabaseConnection.insert(AndroidDatabaseConnection.java:156)
        at com.j256.ormlite.stmt.mapped.MappedCreate.insert(MappedCreate.java:91)
        at com.j256.ormlite.stmt.StatementExecutor.create(StatementExecutor.java:450)
        at com.j256.ormlite.dao.BaseDaoImpl.create(BaseDaoImpl.java:310)
        at com.myapp.db.DBHandler.populateDB(DBHandler.java:178)
마이크 B

오 이런, 난 바보 야. 대답은 예외에 바로 숨겨져있었습니다.

org.joda.time.LocalTime$Property cannot be cast to java.lang.Number

javaToSqlArg내가 반환 하는 방법에서

((LocalTime) javaObject).millisOfDay()

내가 돌아올 때

((LocalTime) javaObject).getMillisOfDay()

millisOfDay()A는 반환 LocalTime.Property, getMillisOfDay()반환합니다 int.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

rbind가 사용자 정의 함수 내에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 사용자 지정 명령이 zsh의 sudo에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

ng-hide가 사용자 지정 지시문에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 사용자 지정 실행기가 대시에 표시되지 않는 이유는 무엇입니까?

분류에서Dev

내 문자열 바꾸기가 JavaScript에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 사용자 지정 게시물 유형에 대해 Wordpress 단축 코드 기능이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 sklearn 사용자 정의 변환기가 ColumnTransformer에서 사용될 때 속성을 저장하지 않는 이유는 무엇입니까?

분류에서Dev

사용자 지정 커서가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

사용자 지정 커서가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 OR 연산자가 내 WHERE 절에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 onload가 Wordpress에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 customscrollview에서 sliverlist가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 bottomnavigationbar가 flutter에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

onResumeFragments () 내에서 setVisibility ()가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

setMargins가 내 RelativeLayout에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

이 JavaScript가 내 웹 사이트에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

사용자 정의 유형에 대한 캐스트가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

사용자 지정 바로 가기 (Jupyter Lab에서 출력 지우기)가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 웹 사이트에서 jquery 뉴스 티커가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

콘텐츠 자리 표시 자 내에서 사용할 때 Textbox의 자동 완성 jquery가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 코드가 underscore.js에서는 작동하지만 Ramda.js를 사용할 때는 작동하지 않는 이유는 무엇입니까?

분류에서Dev

사용자 이름이 이미 사용되었는지 확인하기 위해 내 코드가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 개미 디자인에서 defaultOpenKeys가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 Android setOnItemClickListener가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

.env 대명사가 dplyr :: slice_max 내에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 CSS 변경이 검사기에서는 작동하지만 customiser에서는 작동하지 않는 이유는 무엇입니까?

분류에서Dev

내 DHCP 서버가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

docker exec에서 "내보내기"가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

시트의 버튼을 사용하여 사용자 양식을 시작하려고 할 때 내 확인란이 작동하지 않고 기본 메뉴에서 사용자 양식을 시작할 때 작동하지 않는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    rbind가 사용자 정의 함수 내에서 작동하지 않는 이유는 무엇입니까?

  2. 2

    내 사용자 지정 명령이 zsh의 sudo에서 작동하지 않는 이유는 무엇입니까?

  3. 3

    ng-hide가 사용자 지정 지시문에서 작동하지 않는 이유는 무엇입니까?

  4. 4

    내 사용자 지정 실행기가 대시에 표시되지 않는 이유는 무엇입니까?

  5. 5

    내 문자열 바꾸기가 JavaScript에서 작동하지 않는 이유는 무엇입니까?

  6. 6

    내 사용자 지정 게시물 유형에 대해 Wordpress 단축 코드 기능이 작동하지 않는 이유는 무엇입니까?

  7. 7

    내 sklearn 사용자 정의 변환기가 ColumnTransformer에서 사용될 때 속성을 저장하지 않는 이유는 무엇입니까?

  8. 8

    사용자 지정 커서가 작동하지 않는 이유는 무엇입니까?

  9. 9

    사용자 지정 커서가 작동하지 않는 이유는 무엇입니까?

  10. 10

    내 OR 연산자가 내 WHERE 절에서 작동하지 않는 이유는 무엇입니까?

  11. 11

    내 onload가 Wordpress에서 작동하지 않는 이유는 무엇입니까?

  12. 12

    내 customscrollview에서 sliverlist가 작동하지 않는 이유는 무엇입니까?

  13. 13

    내 bottomnavigationbar가 flutter에서 작동하지 않는 이유는 무엇입니까?

  14. 14

    onResumeFragments () 내에서 setVisibility ()가 작동하지 않는 이유는 무엇입니까?

  15. 15

    setMargins가 내 RelativeLayout에서 작동하지 않는 이유는 무엇입니까?

  16. 16

    이 JavaScript가 내 웹 사이트에서 작동하지 않는 이유는 무엇입니까?

  17. 17

    사용자 정의 유형에 대한 캐스트가 작동하지 않는 이유는 무엇입니까?

  18. 18

    사용자 지정 바로 가기 (Jupyter Lab에서 출력 지우기)가 작동하지 않는 이유는 무엇입니까?

  19. 19

    내 웹 사이트에서 jquery 뉴스 티커가 작동하지 않는 이유는 무엇입니까?

  20. 20

    콘텐츠 자리 표시 자 내에서 사용할 때 Textbox의 자동 완성 jquery가 작동하지 않는 이유는 무엇입니까?

  21. 21

    내 코드가 underscore.js에서는 작동하지만 Ramda.js를 사용할 때는 작동하지 않는 이유는 무엇입니까?

  22. 22

    사용자 이름이 이미 사용되었는지 확인하기 위해 내 코드가 작동하지 않는 이유는 무엇입니까?

  23. 23

    내 개미 디자인에서 defaultOpenKeys가 작동하지 않는 이유는 무엇입니까?

  24. 24

    내 Android setOnItemClickListener가 작동하지 않는 이유는 무엇입니까?

  25. 25

    .env 대명사가 dplyr :: slice_max 내에서 작동하지 않는 이유는 무엇입니까?

  26. 26

    내 CSS 변경이 검사기에서는 작동하지만 customiser에서는 작동하지 않는 이유는 무엇입니까?

  27. 27

    내 DHCP 서버가 작동하지 않는 이유는 무엇입니까?

  28. 28

    docker exec에서 "내보내기"가 작동하지 않는 이유는 무엇입니까?

  29. 29

    시트의 버튼을 사용하여 사용자 양식을 시작하려고 할 때 내 확인란이 작동하지 않고 기본 메뉴에서 사용자 양식을 시작할 때 작동하지 않는 이유는 무엇입니까?

뜨겁다태그

보관