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

我正在使用: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

  }

}

给了我以下错误:


获取数据(/电影/评级)时出现异常:无法初始化代理 [com.example.demo.model.Movie#1] - 无会话


精慕HU
浏览 145回答 2
2回答

回首忆惘然

尝试更改getOne为findOnepublic Movie movie(Short id) {&nbsp; &nbsp; return this.movieRepository.findOne(id);}我认为 usinggetOne需要调用在事务上下文中。因此错误 - 没有会话。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java