Добавить
lintOptions {
disable 'InvalidPackage'
checkReleaseBuilds false
}
в android/app/build.gradle
Я сомневаюсь, что это имеет какое-либо отношение к проблеме, но я думал, что подниму ее так или иначе только, чтобы гарантировать, что это не глюк, который был пропущен:
Обратите внимание, что при использовании referencedColumnName к не столбцу первичного ключа, связанный класс должен быть сериализуемым.
Ссылка: [http://docs.jboss.org/ejb3/app-server/HibernateAnnotations/reference/en/html_single/index.html] [1]
Я знаю, что Вы сказали, что ЛЕВОЕ ВНЕШНЕЕ ОБЪЕДИНЕНИЕ сгенерировано, но я думал, что выборка по умолчанию была ЛЕНИВА, если это не было указано. Возможно, explicilty определение режима выборки может привести к различным результатам.
Наконец при использовании запроса HQL возможно, отправление этого с любыми другими классами объекта поможет общественной справке решить вопрос.
просто предположение: действительно называет =, 'ISBN' должен быть тем же случаем как поле в Материально-технических ресурсах?
Ваша схема базы данных не имеет смысла, судя по тому, что вы здесь показали. Связь между книгой и инвентарем должна быть один ко многим - предположительно, одна и та же книга находится в нескольких инвентаризациях, а это означает, что вы не можете связать книги и инвентарь только с isbn. Поскольку isbn не уникален для инвентаря, у вас будет несколько строк в инвентаре с одним и тем же isbn, но с разными идентификаторами цепочки - какая строка является правильной для данной книги / isbn? У книги должен быть внешний ключ к inventory.id, а не inventory.isbn.
Вы должны назвать свою ссылку соединения как-нибудь иначе. isbn уже является столбцом. Попробуйте это:
@OneToOne(optional = true)
@JoinColumn(name = "inventory", referencedColumnName = "isbn",insertable = false, updatable = false)
Inventory inventory;