gpt4 book ai didi

java - 无法使用 graphql-spring 初始化代理

转载 作者:行者123 更新时间:2023-12-02 17:53:41 24 4
gpt4 key购买 nike

我正在使用:graphql-spring-boot 和 graphql-java-tools 来实现。

电影.graphqls

type Movie {
id: Short
name: String
poster: String
releaseDate: String
runtime: String
storyline: String
rated: String
rating: String
inserted: String
}


type Query {
movies: [Movie]
movie(id: ID!): Movie
}

电影模型

@Entity
public class Movie {
private Short id;
private String name;
private String poster;
private Date releaseDate;
private Time runtime;
private String storyline;
private String rated;
private double rating;
private Timestamp inserted;
}

如你所见,我与其他模特没有任何关系。
最后是实现GraphQLQueryResolver的类

@Component
public class Query implements GraphQLQueryResolver {
@Autowired
private MovieRepository movieRepository;
public List<Movie> movies() {
return this.movieRepository.findAll();
}
public Movie movie(Short id) {
return this.movieRepository.getOne(id);
}
}

以下查询工作正常:

{
movies{
name
rating
}
}

但是这个查询:

{
movie(id: 1){
name
}
}

给我以下错误:

Exception while fetching data (/movie/rated) : could not initialize proxy [com.example.demo.model.Movie#1] - no Session

最佳答案

尝试将 getOne 更改为 findOne

public Movie movie(Short id) {
return this.movieRepository.findOne(id);
}

我认为使用 getOne 需要在事务上下文中进行调用。因此出现错误 - 没有 session 。

关于java - 无法使用 graphql-spring 初始化代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52076589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com