У меня возникли проблемы с запуском моего сервера, потому что он жалуется, что унаследованное свойство не найдено в запросе.Тип Inheritance Регистрация JPA - запрос свойства в Spring JPA
Для целей обсуждения, я создал иерархию классов, как это:
BaseContent
==============
id
createUser
Category
===============
id
otherProperties
Я объявил типы, как так:
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "base_content")
public class BaseContent {
...
}
и
@Entity
@Table(name="categories")
@Inheritance(strategy = InheritanceType.JOINED)
@PrimaryKeyJoinColumn(name = "base_content_id", referencedColumnName = "id")
public class Category extends BaseContent{
}
Обратите внимание, что соответствующие свойства имеют все геттер/сетки и т. Д.
Я использую Spring Data/JPA, и мой сервер и IntelliJ и жалуются, что унаследованное свойство createUser
(среди прочих) не могут быть найдены для этого запроса:
@Query("select c from Category c " +
"left join fetch c.createUser " +
"left join fetch c.lastUpdateUser " +
"left join fetch c.galleries g " +
"left join fetch g.media " +
"left join fetch c.parentRelationship pr " +
"left join fetch c.productCategoryRelationships pcr " +
"left join fetch pcr.child " +
"left join fetch c.appliedLayouts l " +
"left join fetch pr.parent " +
"where c.id = ?1")
public Category findById(Long categoryId);
мой вопрос, так как я m пытается перенести его в модель наследования (объединенный), как мне связать унаследованное свойство в аннотированном запросе?
(обратите внимание на свойство является частной обзорность с общественным геттер/сеттер в BaseContent)
Спасибо вам