QuerySyntaxException в Spring Data JPA пользовательский запрос - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть сущность:

@Entity
@Table(name = "story", schema = "")
@Data
public class Story implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "sID", unique = true, nullable = false)
    private Long sID;

    @Column(name = "vnName", nullable = false)
    private String vnName;

    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(pattern = "dd-MM-yyyy HH:mm:ss")
    @Column(name = "sUpdate", length = 19)
    private Date sUpdate;
}

И:

@Entity
@Table(name = "chapter", schema = "")
@Data
public class Chapter implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "chID", unique = true, nullable = false)
    private Long chID;

    @Column(name = "chName", nullable = false)
    private String chName;

    @JoinColumn(name = "sID", referencedColumnName = "sID")
    @ManyToOne(fetch = FetchType.LAZY)
    private Story story;
}

Я создал пользовательский pojo, чтобы получить последнюю историю обновлений с последней главой:

@Data
public class NewStory{
    private Story story;
    private Chapter chapter;
}

но когда я получаю список:

@Repository
public interface StoryRepository extends CrudRepository<Story, Long> {
    @Query(value="SELECT NEW com.apt.truyenmvc.entity.NewStory(s as newstory, c as newchapter)"
                   + " FROM story s LEFT JOIN (SELECT * FROM Chapter c INNER JOIN "
                   + " (SELECT MAX(c.chID) AS chapterID FROM Story s LEFT JOIN Chapter c ON s.sID = c.sID GROUP BY s.sID) d"
                   + " ON c.chID = d.chapterID) c ON s.sID = c.sID order by s.sUpdate desc")
    public List<NewStory> getTopView();
}

Ошибка:

Warning error: org.hibernate.hql.internal.ast.QuerySyntaxException: story is not mapped.

Кто мог бы помочь мне это исправить?Или это может быть сделано по-другому?

1 Ответ

0 голосов
/ 16 сентября 2018

Ошибка довольно понятна. И это всего лишь опечатка в вашем запросе. Вы используете story. И, очевидно, это не отображается как сущность.

Исправить на Story

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