Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未找到能够从类型[org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap]转换的转换器_Java_Hibernate_Jpa_Spring Data Jpa - Fatal编程技术网

Java 未找到能够从类型[org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap]转换的转换器

Java 未找到能够从类型[org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap]转换的转换器,java,hibernate,jpa,spring-data-jpa,Java,Hibernate,Jpa,Spring Data Jpa,将实体的结果集映射到POJO的问题 该实体使用元组中的hibernate resultsetmap,并应将带注释的值传递给POJO的构造函数 实体 @SqlResultSetMapping( name = "TaskChangeMapping", columns = { @ColumnResult(name = "id", type = Long.class), @ColumnResult(name

将实体的结果集映射到POJO的问题

该实体使用元组中的hibernate resultsetmap,并应将带注释的值传递给POJO的构造函数

实体

@SqlResultSetMapping(
        name = "TaskChangeMapping",
        columns = {
                @ColumnResult(name = "id", type = Long.class),
                @ColumnResult(name = "status", type = String.class),
                @ColumnResult(name = "data_values", type = String.class)

})
@NamedNativeQueries({
    @NamedNativeQuery(
      name = "ICreateChange.listStartedChangesByInitiator",
      query =
      "SELECT id, status, data_values "
      + "FROM icreate_change "
      + "WHERE initiator = :initiator "
      + "AND workflow_process_id = 0",
      resultSetMapping = "TaskChangeMapping"
    ),
    @NamedNativeQuery(
      name = "ICreateChange.listDataValuesAndStatusByChangeId",
      query =
      "SELECT id, status, data_values "
      + "FROM icreate_change "
      + "WHERE id = :changeId",
      resultSetMapping = "TaskChangeMapping"
    )
})

@Data
@Entity
@Table(name = "icreate_change")
public class ICreateChange {
...
这是POJO课程

更改任务

@Data
public class ChangeTask {

  @Getter
  @Value("id")
  private Long id;

  @Getter
  @Value("status")
  private String status;

  @Getter
  @Value("data_values")
  @JsonInclude(Include.NON_NULL)
  private String dataValues;

  /**
   * Constructor.
   * @param id changeId
   * @param status change status
   * @param dataValues JSON string of data values
   */
  public ChangeTask(
      Long id,
      String status,
      String dataValues
  ) {
    this.id = id;
    this.status = status;
    this.dataValues = dataValues;
  }
}
存储库

@SqlResultSetMapping(
        name = "TaskChangeMapping",
        columns = {
                @ColumnResult(name = "id", type = Long.class),
                @ColumnResult(name = "status", type = String.class),
                @ColumnResult(name = "data_values", type = String.class)

})
@NamedNativeQueries({
    @NamedNativeQuery(
      name = "ICreateChange.listStartedChangesByInitiator",
      query =
      "SELECT id, status, data_values "
      + "FROM icreate_change "
      + "WHERE initiator = :initiator "
      + "AND workflow_process_id = 0",
      resultSetMapping = "TaskChangeMapping"
    ),
    @NamedNativeQuery(
      name = "ICreateChange.listDataValuesAndStatusByChangeId",
      query =
      "SELECT id, status, data_values "
      + "FROM icreate_change "
      + "WHERE id = :changeId",
      resultSetMapping = "TaskChangeMapping"
    )
})

@Data
@Entity
@Table(name = "icreate_change")
public class ICreateChange {
...
注意,没有rest控制器,它直接指向存储库

@CrossOrigin
@RepositoryRestResource(path = "/iCreateChange")
public interface ICreateChangeRepository extends JpaRepository<ICreateChange, Long> {

  List<ChangeTask> listDataValuesAndStatusByChangeId(
        @Param("changeId")
        @RequestParam
        @ApiParam(name = "changeId", value = "changeId")
        Long changeId);
}

有什么想法吗?

找到解决方案了吗?我遇到了完全相同的错误,但我不是直接使用JPA,而是使用Spring
@Query
注释和本机查询,并试图投影到一个封闭的类中。我遇到了同样的错误。我通过切换到接口投影来解决它。