gpt4 book ai didi

java - 将 Sugar ORM 与 UUID 或 Joda-Time 结合使用

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:18 24 4
gpt4 key购买 nike

我正在创建一个移动应用程序,其用户定义如下:

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)存储在数据库中。

当我在用户表中输入一条新记录时,一切正常:

    DateTime dt = new DateTime();
UUID newUID = UUID.randomUUID();
UserObject newUser = new UserObject(newUID, "David", 1, "userOne", "password", dt.toDate());
newUser.save();

但是,当我尝试取回值时出现错误:

Class cannot be read from Sqlite3 database. Please check the type of field Id(java.util.UUID)

Sugar ORM(或 SQLite)是否根本不支持 UUID?如果我尝试使用 Joda DateTime,替换“LastLogin”,则该表根本不会构建,所以它看起来好像可以创建字段,只是不检索/存储它们...

最佳答案

您不应将 var 与名称 Id 一起使用。 Sugar 记录使用 Id 来存储索引值。使用除 Id

之外的任何内容
public class UserObject extends SugarRecord{
public UUID uId;
public String Name;
public int DefaultSort;
public String Username;
public Date LastLogin;

public UserObject()
{

}

public UserObject(UUID uId, String name, int defaultSort, String username, String password, Date lastLogin)
{
this.uId= uId;
this.Name = name;
this.DefaultSort = defaultSort;
this.Username = username;
this.LastLogin = lastLogin;
}
}

从v1.4开始不再需要使用SugarRecord

关于java - 将 Sugar ORM 与 UUID 或 Joda-Time 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26386556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com