为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

精慕HU 2021-08-19 17:45:01
我正在使用:graphql-spring-boot 和 graphql-java-tools 来实现。电影.graphqlstype 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}电影模型@Entitypublic 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的类@Componentpublic 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  }}给了我以下错误:获取数据(/电影/评级)时出现异常:无法初始化代理 [com.example.demo.model.Movie#1] - 无会话
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

尝试更改getOne为findOne


public Movie movie(Short id) {

    return this.movieRepository.findOne(id);

}

我认为 usinggetOne需要调用在事务上下文中。因此错误 - 没有会话。


查看完整回答
反对 回复 2021-08-19
  • 2 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信