以下に定義するユーザーを持つモバイル アプリケーションを作成しています。
public class UserObject extends SugarRecord<UserObject>
{
public UUID Id;
public String Name;
public int DefaultSort;
public String Username;
public Date LastLogin;
public UserObject()
{
}
public UserObject(UUID id, String name, int defaultSort, String username, String password, Date lastLogin)
{
this.Id = id;
this.Name = name;
this.DefaultSort = defaultSort;
this.Username = username;
this.LastLogin = lastLogin;
}
}
これらのユーザーは API から取得されます。ID は一意の識別子 (または C# の GUID) としてデータベースに格納されます。
users テーブルに新しいレコードを入力すると、すべて正常に動作します。
DateTime dt = new DateTime();
UUID newUID = UUID.randomUUID();
UserObject newUser = new UserObject(newUID, "David", 1, "userOne", "password", dt.toDate());
newUser.save();
ただし、値を取り戻そうとすると、エラーが発生します。
Sqlite3 データベースからクラスを読み取ることができません。フィールドID(java.util.UUID)の型を確認してください
Sugar ORM (または SQLite) は単に UUID をサポートしていないのですか? 「LastLogin」を置き換えてJoda DateTimeを試してみると、テーブルがまったく構築されないため、フィールドを作成できるように見えますが、それらを取得/保存することはできません...