当前位置: 首页 > 知识库问答 >
问题:

无法在类上找到适当的构造函数

越骏俊
2023-03-14
 query = new StringBuilder();
 query.append(ReposJPQL.GET_INCIDENTS);
 q = em.createQuery(query.toString());
 result = q.getResultList();
GET_INCIDENTS = "SELECT DISTINCT searchDto ("
            + "ih.Id,  ih.logs )"
            + "FROM Hdr ih left join ih.logs sl";
public class SearchDto implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer ID
    private List<IncidentStatusLogDto> statusLogs;

    public SearchDto () {
    }

    public SearchDto (Long incidentId, List<IncidentStatusLogDto> statusLogs) {
        super();
        this.incidentId = incidentId;
        this.statusLogs = statusLogs;
    }

}
@Entity
@Table(name="TB_HDR")
public class IncidentHdr implements Serializable {
    private static final long serialVersionUID = 1L;


    private Id;
    @OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}, fetch = FetchType.LAZY,  mappedBy="incidentHdr")
    @JsonManagedReference
    private List<Log> logs;

//getters and setters

}
no appropriate constructor in class: SearchDto]
org.hibernate.hql.internal.ast.DetailedSemanticException: Unable to locate appropriate constructor on class SearchDto]. Expected arguments are: long, java.util.Collection

当我尝试只使用Id作为值并删除列表时,它工作了。

共有1个答案

蒲魁
2023-03-14

SearchDTO类中有几个错误:

    private Integer id中缺少分号应为 private Integer id;
  1. 您试图在构造函数中设置this.incidentid=incidentid;,但您没有定义变量。

由于我不知道您是否错过了它,或者您是否想用变量id来替换它,我建议的解决方案是:

public class SearchDto implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer ID;
    private Long incidentId;
    private List<IncidentStatusLogDto> statusLogs;

    public SearchDto () {
    }

    public SearchDto (Long incidentId, List<IncidentStatusLogDto> statusLogs) {
        super();
        this.incidentId = incidentId;
        this.statusLogs = statusLogs;
    }

}
 类似资料:
  • 问题内容: 当我尝试执行此HQL以返回对象时,出现此错误: 错误[org.hibernate.hql.PARSER](http- localhost-127.0.0.1-8080-2)无法在类[br.com.cdv.model.entity.Ponto]上找到适当的构造函数[原因= org.hibernate。 PropertyNotFoundException:类中没有适当的构造函数:br.co

  • 我正在尝试将本机SQL结果映射到我的POJO。下面是配置。我在用Spring。 这是我的课 这里我是怎么称呼它的 但说到线

  • 我创建了一个并将其附加到一个实体“Doctor”,在同一个实体上我附加了一个,它获取查询结果的列并将它们映射到一个专门创建的POJO类的构造函数。该查询还连接到一个JPA方法,该方法驻留在同一实体的存储库中。 但是,我不断得到一个错误,即找不到合适的构造函数,好像或POJO构造函数不同步。(堆栈跟踪在底部) 我的实体,和: 我直接在数据库上尝试了查询,它给出了预期的结果,所以我只是编写了selec

  • 问题内容: 我正在实现他们文档中提供的firebase示例。我遇到此错误: com.fasterxml.jackson.databind.JsonMappingException:没有为类型[简单类型,类com.XYZ。$ BlogPost]找到合适的构造函数:无法从JSON对象实例化(需要添加/启用类型信息吗?) 这是我的代码: 我在同一件事上经历了很多问题,说要包含反序列化JSON所需的空构造

  • 因此,我有了类、、和。由于类有很多setter和getter,所以我决定将代码放在pastebin中: LogBookEntry 驱动程序 数据库 汽车 因此,正如您在数据库中所看到的,我有两个函数来加载和保存XML数据。 如您所见,类的日期不会保存到XML文件中。这就是为什么我在加载xml文件时会出现以下错误的原因: Okt 22,2017 3:36:33 PM com.sun.xml.inte