其中包括java bean,hibernate配置,hibernate mapping,存储过程,由于太长了,我不能放在论坛上来,只是把错误提示放在上面!请高人指点一下,研究好几天了,在网上也找了好多资料,不能解决我现在的问题。
<?xml version="1.0"  encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping package="com.goldenspear.GMIS.data">
<class name="com.goldenspear.GMIS.data.INVITMCHK" table="TEMPINVPVCHK">
<id name="POLOC" type="string">
<generator class="assigned" />
</id>
<property name="POLOC" type="string">
<column name="POLOC" length="50" />
</property>
<property name="KPPV" type="big_decimal">
<column name="KPPV" precision="12" />
</property>
<property name="FHPV" type="big_decimal">
<column name="FHPV" precision="12" />
</property>
<property name="HXPV" type="big_decimal">
<column name="HXPV" precision="12" />
</property>
<property name="WSPV" type="big_decimal">
<column name="WSPV" precision="12" />
</property>
<property name="YSPV" type="big_decimal">
<column name="YSPV" precision="12" />
</property>
<property name="SPVY" type="big_decimal">
<column name="SPVY" precision="12" />
</property>
<property name="SPVN" type="big_decimal">
<column name="SPVN" precision="12" />
</property>
<property name="BALPV" type="big_decimal">
<column name="BALPV" precision="12" />
</property>
</class>
<sql-query name="INVITMCHK" callable="true">
<return alias="INVITMCHK" class="INVITMCHK">
<return-property name="POLOC" column="POLOC" />
<return-property name="KPPV" column="KPPV" />
<return-property name="FHPV" column="FHPV" />
<return-property name="HXPV" column="HXPV" />
<return-property name="WSPV" column="WSPV" />
<return-property name="YSPV" column="YSPV" />
<return-property name="SPVY" column="SPVY" />
<return-property name="SPVN" column="SPVN" />
<return-property name="BALPV" column="BALPV" />
</return>
{call INVITMCHK(loccd,CtrCd,DtStart,DtEnd) }
</sql-query>
</hibernate-mapping>错误提示如下:
ognl.OgnlException 
smsPlatformUrl 
   
java.lang.ExceptionInInitializerError 
 
   
org.hibernate.MappingException 
Repeated column in mapping for entity: com.goldenspear.GMIS.data.INVITMCHK column: POLOC (should be mapped with insert="false" update="false") 
messages: Repeated column in mapping for entity: com.goldenspear.GMIS.data.INVITMCHK column: POLOC (should be mapped with insert="false" update="false") 
 
throwableCount: 1  
throwables: org.hibernate.MappingException: Repeated column in mapping for entity: com.goldenspear.GMIS.data.INVITMCHK column: POLOC (should be mapped with insert="false" update="false")  

解决方案 »

  1.   

    我的存储过程是这样的:
    CREATE OR REPLACE PROCEDURE INVITMCHK
    (
        loccd IN VARCHAR2,
        CtrCd IN VARCHAR2,
        DtStart IN VARCHAR2,
        DtEnd IN VARCHAR2) IS
    RLevel int:=0;
    NowLevel int:=0;
    PLevel int:=5;
    RMCode varchar(20);
    NowMCode varchar(20);
    locty varchar(30);
    LastLevel int;
    LastMCode varchar(20);
    LocNm varchar(100);BEGIN
     。
    END INVITMCHK;
      

  2.   

    我的存储过程是这样的:
    CREATE OR REPLACE PROCEDURE INVITMCHK
    (
        loccd IN VARCHAR2,
        CtrCd IN VARCHAR2,
        DtStart IN VARCHAR2,
        DtEnd IN VARCHAR2) IS
    RLevel int:=0;
    NowLevel int:=0;
    PLevel int:=5;
    RMCode varchar(20);
    NowMCode varchar(20);
    locty varchar(30);
    LastLevel int;
    LastMCode varchar(20);
    LocNm varchar(100);BEGIN
     。
    END INVITMCHK;
      

  3.   

    我的java bean(INVITMCHK.java)是这样的(里面调用了PDF,把最后的数据输出到PDF中,这个输出应该没有问题的!!)(javabean编译没有错!!!):
        public void doAction(IRequestCycle cycle) { if (Labels.getLabel(getUser().getLang(), "INVITMCHKPV").equals(getSelectedReportType())) {
        try {
    List result = null;
    Session sess = null;
    try {
        Query query = sess.getNamedQuery("INVITMCHK");
        query.setParameter(0, getOrganCode());
        query.setParameter(1, "CHN");
        query.setParameter(2, getBeginTime());
        query.setParameter(3, getEndTime());     
    //     query.setString("loccd", getOrganCode());
    //     query.setString("CtrCd", "CHN");
    //     query.setDate("DtStart", getBeginTime());
    //     query.setDate("DtEnd", getEndTime());
        List params = query.list();
        sess.getTransaction().commit();
    } catch (Exception e) {
        e.printStackTrace();
        sess.getTransaction().rollback();
    }
    String sessionId = cycle.getInfrastructure().getRequest().getSession(true).getId();
    String outputFile = Labels.getConfig("reportTmpPath") + "/onsales_grpcd" + sessionId + ".pdf";
    int pageOffset = 0;
    ArrayList master = new ArrayList();
    int f = 0;
    Document document = null;
    PdfCopy writer = null;
    if (result != null && !result.isEmpty()) {
        int pageNumber = result.size() / 22;
        if (result.size() % 22 > 0)
    pageNumber += 1;
        for (int i = 0; i < pageNumber; i++) { PdfReader reader = new PdfReader(Labels.getConfig("reportpattern") + "/INVITMCHKPV.pdf");
    String outTempFile = Labels.getConfig("reportTmpPath") + "/INVITMCHKPV" + sessionId + "_" + i + ".pdf";
    PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(new File(outTempFile)));
    AcroFields form = stamp.getAcroFields();
    for (int j = 0; j < 22; j++) {
        if (result.size() > (i * 22) + j) {
    Object[] objs = (Object[]) result.get((i * 22) + j);
    form.setField("tb1[0].Form1[0].Loccd[" + j + "]", objs[0] + "");
    form.setField("tb1[0].Form1[0].kppv[" + j + "]", objs[1] + "");
    form.setField("tb1[0].Form1[0].fhpv[" + j + "]", objs[2] + "");
    form.setField("tb1[0].Form1[0].hxpv[" + j + "]", objs[3] + "");
    form.setField("tb1[0].Form1[0].wspv[" + j + "]", objs[3] + "");
    form.setField("tb1[0].Form1[0].yspv[" + j + "]", objs[3] + "");
    form.setField("tb1[0].Form1[0].sxybpv[" + j + "]", objs[3] + "");
    form.setField("tb1[0].Form1[0].sxwbpv[" + j + "]", objs[3] + "");
    form.setField("tb1[0].Form1[0].jcpv[" + j + "]", objs[3] + "");
        }
    }
    form.setField("tb1[0].Form1[0].PageNo[0]", (i + 1) + "/" + pageNumber);
    form.setField("tb1[0].Form1[0].ReportDate[0]", new SimpleDateFormat("yyyy/MM/dd").format(new Date()));
    form.setField("tb1[0].Form1[0].Operator[0]", getUser().getUid().toUpperCase());
    form.setField("tb1[0].Form1[0].BeginTime[0]", new SimpleDateFormat("yyyy/MM/dd").format(getBeginTime())); // 开始时间
    form.setField("tb1[0].Form1[0].EndTime[0]", new SimpleDateFormat("yyyy/MM/dd").format(getEndTime())); // 截止时间
    form.setField("tb1[0].Form1[0].lbOperator[0]", Labels.getLabel(getUser().getLang(), "Lister") + ":");
    form.setField("tb1[0].Form1[0].lbReportDate[0]", Labels.getLabel(getUser().getLang(), "ListDate") + ":");
    form.setField("tb1[0].Form1[0].lbPageNo[0]", Labels.getLabel(getUser().getLang(), "PageNo") + ":");
    form.setField("tb1[0].Form1[0].lbTitle[0]", Labels.getLabel(getUser().getLang(), "INVITMCHKPV") + Labels.getLabel(getUser().getLang(), "List"));
    form.setField("tb1[0].Form1[0].lbStoreCode[0]", Labels.getLabel(getUser().getLang(), "StoreCode"));
    form.setField("tb1[0].Form1[0].lbOperTerm[0]", Labels.getLabel(getUser().getLang(), "DateTime") + ":"); // 日期时间标签
    form.setField("tb1[0].Form1[0].lto[0]", Labels.getLabel(getUser().getLang(), "INVITMCHKPVTO")); // 到
    form.setField("tb1[0].Form1[0].lbkppv[0]", Labels.getLabel(getUser().getLang(), "INVITMCHKPVKPPV"));// 开票pv
    form.setField("tb1[0].Form1[0].lbfhpv[0]", Labels.getLabel(getUser().getLang(), "INVITMCHKPVFHPV"));// 发货PV stamp.close(); PdfReader reader4 = new PdfReader(outTempFile);
    reader4.consolidateNamedDestinations();
    int n = reader4.getNumberOfPages();
    List books = SimpleBook.getBook(reader4);
    if (books != null) {
        if (pageOffset != 0)
    SimpleBook.shiftPageNumbers(books, pageOffset, null);
        master.addAll(books);
    }
    pageOffset += n; if (f == 0) {
        document = new Document(reader4.getPageSizeWithRotation(1));
        writer = new PdfCopy(document, new FileOutputStream(outputFile));
        document.open();
    }
    PdfImportedPage page;
    for (int j = 0; j < n;) {
        ++j;
        page = writer.getImportedPage(reader4, j);
        writer.addPage(page);
    }
    PRAcroForm form4 = reader4.getAcroForm();
    if (form4 != null)
        writer.copyAcroForm(reader4);
    f++;
    File tFile = new File(outTempFile);
    tFile.delete();
        }
        if (master.size() > 0)
    writer.setOutlines(master);
        document.close();
    } else {
        PdfReader nothing = new PdfReader(Labels.getConfig("reportpattern") + "/nothing.pdf");
        PdfCopyFields copy = new PdfCopyFields(new FileOutputStream(outputFile));
        copy.addDocument(nothing);
        copy.close();
    }     } catch (Exception e) {
    e.printStackTrace();
        } } else { }
    }