Использование UUID в качестве идентификатора в ORMLite (Android)

StackOverflow https://stackoverflow.com/questions/8880612

  •  28-10-2019
  •  | 
  •  

Вопрос

Я успешно создал таблицу с ORMLite, в которой, похоже, правильно добавлен столбец uuid в качестве первичного ключа, индекса и т. д.

родовое слово

Теперь я хотел бы иметь возможность использовать всю мощь предоставленного DAO и делать это (Stat - мой класс, который нужно сохранить, getUUID () возвращает UUID):

родовое слово

Компилятор выдает ошибку:

родовое слово

Что мне не хватает, так это как использовать идентификаторы UUID в таких методах, как deleteById , которые принимают целые числа. Я читал, что UUID в качестве идентификатора был включен в ORMLite, но не упоминал, зашел ли он только до включения их в качестве первичных ключей, не поддерживая все эти вспомогательные методы (queryForId, deleteIds) и т. Д.

Это было полезно?

Решение

Чтобы использовать метод deleteById (ID), необходимо создать код Dao<T,ID> с соответствующими параметрами, которые были определены в вашем T-классе.Идентификатор будет интерпретироваться как любой тип, который вы определяете в своем классе T как первичный ключ.В данном конкретном случае это тип UUID, и, глядя на исключение, DAO был создан с использованием кода Dao<Stat, Integer> и должен был быть создан следующим образом:

родовое слово

надеюсь, что это поможет

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top