Исключение Java «нет значения» при возврате объекта ⇐ JAVA
-
Anonymous
Исключение Java «нет значения» при возврате объекта
Когда я пытаюсь вернуть свой объект, я получаю сообщение об ошибке «нет значения». Но у объекта установлены все доступные параметры.
Я использую ormlite, чтобы получить запись в базе данных, а затем заполнить свой объект опциями из этой записи.
Код выглядит следующим образом:
public static Possession getPossessionById(int iPosId) { пытаться { База данных БД = новая база данных(); Dao dao = db.Init(DBPossession.class); QueryBuilder queryBuilder = dao.queryBuilder(); queryBuilder.where().eq(DBPossession.ID_FIELD_NAME, iPosId); Подготовленный запрос подготовленный запрос = queryBuilder.prepare(); DBPossession dbPossession = dao.queryForFirst(preparedQuery); БД.Закрыть(); если (dbPossession!= ноль) { Владение oPos = новое Владение (); LingoPropertyMap oLPM = новый LingoPropertyMap(); oPos.setAquiredOn(dbPossession.getAcquiredOn()); oPos.setDatePurchased(dbPossession.getDatePurchased()); oPos.setCatalogItem(dbPossession.getCatalogItem()); oPos.setFacingDirection(dbPossession.getFacingDirection()); oPos.setID(dbPossession.getId()); oPos.setOwnerScreenName(dbPossession.getOwnerScreenName()); oPos.setPlacedIn(dbPossession.getPlacedIn()); oPos.setPropertiesString(dbPossession.getProperties()); oLPM.setproperties(dbPossession.getProperties()); oPos.setProperties(oLPM); oPos.setPurchasePrice(dbPossession.getPurchasePrice()); oPos.setState(dbPossession.getState()); oPos.setXPos(dbPossession.getXPos()); oPos.setYPos(dbPossession.getYPos()); oPos.setZPos(dbPossession.getZPos()); возврат опос; } еще { вернуть ноль; } } catch (Исключение е) { System.out.println("Исключение (getPossessionById): " + e.getMessage()); } вернуть ноль; } Я пытался преобразовать параметры dbPossession.get в Integer и присвоить .intValue(), не помогло.
Проблема возникает не с каждой записью в базе данных, а с какой-то конкретной, не могу определить причину этой причины.
Когда я пытаюсь вернуть свой объект, я получаю сообщение об ошибке «нет значения». Но у объекта установлены все доступные параметры.
Я использую ormlite, чтобы получить запись в базе данных, а затем заполнить свой объект опциями из этой записи.
Код выглядит следующим образом:
public static Possession getPossessionById(int iPosId) { пытаться { База данных БД = новая база данных(); Dao dao = db.Init(DBPossession.class); QueryBuilder queryBuilder = dao.queryBuilder(); queryBuilder.where().eq(DBPossession.ID_FIELD_NAME, iPosId); Подготовленный запрос подготовленный запрос = queryBuilder.prepare(); DBPossession dbPossession = dao.queryForFirst(preparedQuery); БД.Закрыть(); если (dbPossession!= ноль) { Владение oPos = новое Владение (); LingoPropertyMap oLPM = новый LingoPropertyMap(); oPos.setAquiredOn(dbPossession.getAcquiredOn()); oPos.setDatePurchased(dbPossession.getDatePurchased()); oPos.setCatalogItem(dbPossession.getCatalogItem()); oPos.setFacingDirection(dbPossession.getFacingDirection()); oPos.setID(dbPossession.getId()); oPos.setOwnerScreenName(dbPossession.getOwnerScreenName()); oPos.setPlacedIn(dbPossession.getPlacedIn()); oPos.setPropertiesString(dbPossession.getProperties()); oLPM.setproperties(dbPossession.getProperties()); oPos.setProperties(oLPM); oPos.setPurchasePrice(dbPossession.getPurchasePrice()); oPos.setState(dbPossession.getState()); oPos.setXPos(dbPossession.getXPos()); oPos.setYPos(dbPossession.getYPos()); oPos.setZPos(dbPossession.getZPos()); возврат опос; } еще { вернуть ноль; } } catch (Исключение е) { System.out.println("Исключение (getPossessionById): " + e.getMessage()); } вернуть ноль; } Я пытался преобразовать параметры dbPossession.get в Integer и присвоить .intValue(), не помогло.
Проблема возникает не с каждой записью в базе данных, а с какой-то конкретной, не могу определить причину этой причины.
Мобильная версия