Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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.sql.SQLException:检测到未定义的列名。(冬眠)_Java_Sql_Hibernate_Exception_Db2 - Fatal编程技术网

java.sql.SQLException:检测到未定义的列名。(冬眠)

java.sql.SQLException:检测到未定义的列名。(冬眠),java,sql,hibernate,exception,db2,Java,Sql,Hibernate,Exception,Db2,我有下面的方法,它给了我一个异常 private double doFullCalculation(Iterable<OfferToCatalog> startOfferCatalogs, Iterable<OfferToCatalog> endOfferCatalogs){ double fullWeeksSales=0d; int startWeeks=0; int startIteration =0;

我有下面的方法,它给了我一个异常

private double doFullCalculation(Iterable<OfferToCatalog> startOfferCatalogs, Iterable<OfferToCatalog> endOfferCatalogs){
        double fullWeeksSales=0d;
        int startWeeks=0;
        int startIteration =0;
        for(OfferToCatalog startOfferToCatalog: startOfferCatalogs){
            List<OfferWeeks> startOfferWeeks = offerWeeksRepository.getWeeksForCatalogNumber(startOfferToCatalog.getOfferToCatalogKey().getBusinessUnitNumber()+""+startOfferToCatalog.getOfferToCatalogKey().getCatalogNumber()+""+startOfferToCatalog.getOfferToCatalogKey().getCatalogVersion());
            startIteration++;
            if(startIteration==1){
                startWeeks=startOfferWeeks.size();
            }
         fullWeeksSales += addStartWeeks(startWeeks, startOfferWeeks);   
        }
        for(OfferToCatalog endOfferToCatalog: endOfferCatalogs){    
            List<OfferWeeks> endOfferWeeks = offerWeeksRepository.getWeeksForCatalogNumber(endOfferToCatalog.getOfferToCatalogKey().getBusinessUnitNumber()+""+endOfferToCatalog.getOfferToCatalogKey().getCatalogNumber()+""+endOfferToCatalog.getOfferToCatalogKey().getCatalogVersion());
            fullWeeksSales += addEndWeeks(startWeeks, endOfferWeeks);   
        }
        return fullWeeksSales;   
    }

我能找出问题所在。在“传递”失败的方法时,这是查询返回数据的唯一时间。因为第二列是数据的总和,所以如果我没有声明,它就不会返回命名列

我的实体映射正在为第二列寻找一个命名列,但由于它在结果集中没有命名,我的程序不知道如何处理数据

@Entity
@Table(name = "OECATPAG")
public class OfferWeeks implements Serializable{
    String week;
    BigDecimal sales;

    @Id
    @Column(name = "FCLYERWK", columnDefinition = "varchar2(40)")
    public String getWeek() {
        return week;
    }

    public void setWeek(String week) {
        this.week = week;
    }

    @Column(name = "RMSALES", columnDefinition = "decimal(18,9)")
    public BigDecimal getSales() {
        return sales;
    }

    public void setSales(BigDecimal sales) {
        this.sales = sales;
    }

}

我能找出问题所在。在“传递”失败的方法时,这是查询返回数据的唯一时间。因为第二列是数据的总和,所以如果我没有声明,它就不会返回命名列

我的实体映射正在为第二列寻找一个命名列,但由于它在结果集中没有命名,我的程序不知道如何处理数据

@Entity
@Table(name = "OECATPAG")
public class OfferWeeks implements Serializable{
    String week;
    BigDecimal sales;

    @Id
    @Column(name = "FCLYERWK", columnDefinition = "varchar2(40)")
    public String getWeek() {
        return week;
    }

    public void setWeek(String week) {
        this.week = week;
    }

    @Column(name = "RMSALES", columnDefinition = "decimal(18,9)")
    public BigDecimal getSales() {
        return sales;
    }

    public void setSales(BigDecimal sales) {
        this.sales = sales;
    }

}

失败时,
:catalogNumber
的值是多少?您是否查看了IBM i服务器上连接会话的作业日志中的消息?服务器上有IBM i的哪个版本&TR#?当它失败时,:catalogNumber是“1202312A”。工作:catalogNumber为“1202830B”
:catalogNumber
失败时的值是多少?您是否查看了IBM i服务器上连接会话的作业日志中的消息?服务器上有IBM i的哪个版本&TR#?当它失败时,:catalogNumber是“1202312A”。A工作:目录编号为“1202830B”
201344  239.70000
201345  6045.34500
201346  8885.38200
201347  19087.47600
201348  18076.79600
201349  22518.06900
201350  24897.04300
201351  21699.63600
201352  12532.93400
201401  13964.03500
201402  10197.32900
201403  7687.81300
201404  3980.19600
201405  4828.38000
201406  3592.61600
201407  2069.02900
201408  1612.69500
201409  3280.60700
201410  77.40000
201411  25.65700
201412  847.53000
201413  594.59100
201414  391.50000
201415  2292.53200
201416  0.00000
@Entity
@Table(name = "OECATPAG")
public class OfferWeeks implements Serializable{
    String week;
    BigDecimal sales;

    @Id
    @Column(name = "FCLYERWK", columnDefinition = "varchar2(40)")
    public String getWeek() {
        return week;
    }

    public void setWeek(String week) {
        this.week = week;
    }

    @Column(name = "RMSALES", columnDefinition = "decimal(18,9)")
    public BigDecimal getSales() {
        return sales;
    }

    public void setSales(BigDecimal sales) {
        this.sales = sales;
    }

}