android–Kotlin:Sugar ORM坚持@忽略了属性

android–Kotlin:Sugar ORM坚持@忽略了属性,第1张

概述在我的Android应用程序中,我将Kotlin与SugarORM结合使用,我遇到了一个问题,试图阻止某些属性被持久化.具有讽刺意味的是,在Kotlin类中使用时,@com.orm.dsl.Ignore注释似乎被忽略了.举个例子,1)让我们宣布两个看似相同的模型://JavaUser.javapublicclassJavaUserextendsSu

在我的Android应用程序中,我将Kotlin与SugarORM结合使用,我遇到了一个问题,试图阻止某些属性被持久化.具有讽刺意味的是,在Kotlin类中使用时,@ com.orm.dsl.Ignore注释似乎被忽略了.

举个例子,

1)让我们宣布两个看似相同的模型:

// JavaUser.javapublic class JavaUser extends SugarRecord {    public String login = "login";    @Ignore public String password = "password";}// KotlinUser.ktclass KotlinUser : SugarRecord() {    var login: String = "login"    @Ignore var password: String = "password"}

2)坚持他们的实例

JavaUser().save()KotlinUser().save()

3)并查看实际持续存在的内容:

sqlite> select * from java_user;ID|LOGIN1|loginsqlite> select * from kotlin_user;ID|LOGIN|PASSWORD1|login|password

我意识到它可能与Kotlin注释处理有关,但我只是不确定如何去做.任何建议都是最受欢迎的.

解决方法:

Java和Kotlin代码之间的核心区别在于Java中使用字段,但在Kotlin中使用属性.请参阅文档中的Properties and Fields部分.

您可以尝试以下解决方案,看看SugarORM的效果如何:

1.让Kotlin揭露领域:

@Ignore @JvmFIEld var password: String = "password"

2.将注释应用于私有支持字段:

@fIEld:Ignore var password: String = "password"
总结

以上是内存溢出为你收集整理的android – Kotlin:Sugar ORM坚持@忽略了属性全部内容,希望文章能够帮你解决android – Kotlin:Sugar ORM坚持@忽略了属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1119500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存