Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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

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 JPQL查询中DTO构造函数存在问题_Java_Hibernate_Spring Boot_Entity_Dto - Fatal编程技术网

Java JPQL查询中DTO构造函数存在问题

Java JPQL查询中DTO构造函数存在问题,java,hibernate,spring-boot,entity,dto,Java,Hibernate,Spring Boot,Entity,Dto,我在JPQL查询中将参数do DTO传递给构造函数时遇到问题。我有一个错误: 原因:org.hibernate.hql.internal.ast.QuerySyntaxException:无法在类[eConcept.model.dto.PokojDTO]上找到适当的构造函数。预期参数为:int,int,java.lang.String,java.lang.String,int,java.lang.String,int,int,int,java.util.Date,int 我在dao中的JPQL:

我在JPQL查询中将参数do DTO传递给构造函数时遇到问题。我有一个错误:

原因:org.hibernate.hql.internal.ast.QuerySyntaxException:无法在类[eConcept.model.dto.PokojDTO]上找到适当的构造函数。预期参数为:int,int,java.lang.String,java.lang.String,int,java.lang.String,int,int,int,java.util.Date,int

我在dao中的JPQL:

@Query("select new ekoncept.model.dto.PokojDTO( \n" +
        "               p.pokojId, p.pokojNr, p.pokojNazwa, p.pokojOpis, \n" +
        "               p.pokojtypId,  pt.pokojtypNazwa, \n" +
        "               p.pokojSprzatany, p.pokojRemontowany, \n" +
        "               m.meldunekId, m.meldunekDataDo, r.rezerwacjaId, \n" +
        "               :today) \n" +
        "from Pokoj p \n" +
        "left join Pokojtyp pt on pt.pokojtypId=p.pokojtypId \n" +
        "left join Meldunek m on m.pokojId = p.pokojId and m.meldunekAktywny = 1 and :today between m.meldunekDataOd and m.meldunekDataDo \n"+
        "left join Rezerwacja r on r.pokojId = p.pokojId and r.rezerwacjaAktywna = 1 and :today = r.rezerwacjaDataOd \n"+
        "where (:status is null) or (p.pokojSprzatany = :status) \n" +
        "order by p.pokojNazwa"
)
List<PokojDTO> getPokojList(
        @Param("status") Integer pokojSprzatany,
        @Param("today") Date today);
dao呼叫:

public List<PokojDTO> getPokojList(Integer pokojSprzatany) {
    Date today = sysoperMgr.getToday();
    return pokojDao.getPokojList(pokojSprzatany, today);
}
public List getPokojList(整数pokojSprzatany){
Date today=sysoperMgr.getToday();
返回pokojDao.getPokojList(今天是pokojSprzatany);
}
我知道这个问题是因为构造函数中有“:today”,因为它没有转发给构造函数(为什么?)。JPQL中是否不支持将参数传递给DTO构造函数?是否需要解决此问题或其他语法

public List<PokojDTO> getPokojList(Integer pokojSprzatany) {
    Date today = sysoperMgr.getToday();
    return pokojDao.getPokojList(pokojSprzatany, today);
}