ошибка: не удается найти геттер для поля; Когда классы данных используются с комнатой - PullRequest
0 голосов
/ 01 июля 2018

У меня есть этот класс данных:

@Entity(tableName = User.TABLE_NAME)
data class User(
        @PrimaryKey @ColumnInfo(name = User.id) var id: String = "",
        @ColumnInfo(name = User.name) var name: String = "",
        @ColumnInfo(name = User.password) var password: String = "",
        @ColumnInfo(name = User.modDate) var modDate: DateTime = DateTime(1970, 1, 1, 0, 0)
)

И я получаю следующую ошибку при компиляции:

e: C:\Users\Tibi\AndroidStudioProjects\Android_Sales\EventApp\app\build\tmp\kapt3\stubs\debug\com\tiborfarago\eventapp\database\User.java:11: error: Cannot find getter for field.
    private java.lang.String id$1;
                             ^
e: C:\Users\Tibi\AndroidStudioProjects\Android_Sales\EventApp\app\build\tmp\kapt3\stubs\debug\com\tiborfarago\eventapp\database\User.java:14: error: Cannot find getter for field.
    private java.lang.String name$1;
                             ^
e: C:\Users\Tibi\AndroidStudioProjects\Android_Sales\EventApp\app\build\tmp\kapt3\stubs\debug\com\tiborfarago\eventapp\database\User.java:17: error: Cannot find getter for field.
    private java.lang.String password$1;
                             ^
e: C:\Users\Tibi\AndroidStudioProjects\Android_Sales\EventApp\app\build\tmp\kapt3\stubs\debug\com\tiborfarago\eventapp\database\User.java:20: error: Cannot find getter for field.
    private org.joda.time.DateTime modDate$1;
                                   ^

Если я воссоздаю класс в Java, приложение работает нормально.

Я не совсем уверен, какую дополнительную информацию я должен предоставить, потому что я использую все как раньше.

Что странно для меня, это то, что он не пропускает сеттеры, только геттеры. Изменить: Теперь сеттеры тоже отсутствуют.

Edit2: По какой-то причине это работает:

@Entity(tableName = "sfdfs")
data class Eventdasdsa(
        @PrimaryKey @ColumnInfo(name = "s") var idgfgh: String = "",
        @ColumnInfo(name = "sfdsfdfs") var locatgfhgfionId: String? = "",
        @ColumnInfo(name = "hhhhjghjg") var nafhfhgffme: String? = ""
)

1 Ответ

0 голосов
/ 01 июля 2018

Мне удалось выяснить это:

В теле класса данных у меня есть объект-компаньон, который содержит константы. Имена этих переменных были такими же, как имена полей класса данных, и это вызвало проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...