java.lang.classCastException: arraylist不兼容/不使用arraylist



使用Hibernate和GenericDAO接口,我得到这个错误:java.lang.ClassCastException: java.util.ArrayList与OperationalPostBO不兼容

问题在这行代码中:OperationalPostBO = operationalPostDAO.findOperationalPostByOpCode(opCode);

问题是:我没有在我所有的代码中使用任何arrayList。我只使用java。util。集合,并通过Hashset实现。

hbm file:`

    <property name="opCode" column="OPCODE" type="string" />
    <property name="label" column="LABEL" type="string" />
    <property name="type" column="TYPE" type="string" />
    <set name="portfolioList" cascade="all">
        <key>
            <column name="OPERATIONALPOST_OID" />
        </key>
        <one-to-many class="PortfolioBO" />
    </set>
    <many-to-one name="structureElement" class="StructureElementBO" column="STRUCTUREELEMENT_OID" />
</class>
<query name="OperationalPostBO.findOperationalPostByOpCode">
    <![CDATA[select o from OperationalPostBO o where o.opCode = ?]]>
</query>

"

<query name="OperationalPostBO.findOperationalPostByOpCode">
    <![CDATA[select o from OperationalPostBO o where o.opCode = ?]]>
</query>

返回一个列表

PortfolioList(实际上是一个集合)是另一回事。

比如:

Collection<OperationalPostBO> operationalPostBOs = operationalPostDAO.findOperationalPostByOpCode(opCode);

最新更新