2015-06-15 2 views
0

У меня возникли проблемы с запуском моего сервера, потому что он жалуется, что унаследованное свойство не найдено в запросе.Тип 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)

Спасибо вам

ответ

0

ах Woops, я забыл @Entity аннотацию суперкласса ...

работает сейчас.

Смежные вопросы