LitePal无法获取ID

这个标题起的太标题党,不过为了让遇到过相同问题的朋友们能够准确的搜到就只能这样了。
这几天遇到过一个问题,在LitePal模型中进行如下设置

public class CountDown extends LitePalSupport{

    @Column
    private UUID main_id;

    public CountDown() {
    }

    public UUID getmainId() {
        return main_id;
    }

    public void setmainId(int id) {
        this.main_id = main_id;
    }

然而在获取main_id的时候确不能够成功获取,原因是只要model中属性有id这个字符串,就会被默认替代成ID主键,而这个主键是自动生成的。也就是所有含有id的属性都会失效,这也就造成了虽然有set、get方法却不能够获取正确的值。
解决方法:如果仅仅是为了通过一个唯一的键获取数据,那就可以通过如下修改来获取

    private int main_id;

    public CountDown() {
    }

    public int getId() {
        return main_id;
    }

    public void setId(int id) {
        this.main_id = main_id;
    }

虽然这个参数依旧有id这个字符串,但是其get方法是可用的,只需要将其的返回类型设置成主键的类型,也就是int即可。要注意的是,此时set方法是不可用的,因为它是想要设置主键的,所以必然失效。
如果是为了设置一个具有唯一值的属性,那就把id从其中去掉就行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 过年的饼干,糖果,各种好吃的基本都上火!年仅1周出头的女儿可能抵抗力比较差,又吃上火的食物,得了手足口病。好多家长...
    小苹果阿华阅读 398评论 0 0
  • 英国作家雪莱说:“冬天到了,春天还会远吗?”但终究是冬天,岁末,我并不希望春天早早地到来,因为冬去春来,又是一年。...
    海底浪花阅读 217评论 0 0
  • Redis集群安装 架构图 服务器信息 安装 测试 总结 1、架构图 本次安装参考自redis官方文档:https...
    OrangeLoveMilan阅读 274评论 0 1
  • 时光荏苒,不觉已春深。四月,用它的花开花谢,用它的冷暖无常,演绎着四季的交织变幻。 桃花、杏花、梨花、樱花、玉兰花...
    简静L阅读 184评论 0 0