0

我正在使用休眠映射如下:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
      <class entity-name="TestClass.TestClass" table="TestClass">
        <id name="id" type="integer" unsaved-value="any">
          <column name="TestClassId" not-null="true" />
          <generator class="assigned" />
        </id>

        <array name="arrayProp " table="arrayProp ">
          <key column="id" />
          <index column="ordre" />
          <element column="arrayItem" type="string" />
        </array>

     </class>
    </hibernate-mapping>

现在我想检索存储在 arrayProp 中的元素,我写了这个查询:

select arrayProp from TestClass

我得到的只是:

 Wrapped Exception: No data type for node: org.hibernate.hql.ast.tree.IdentNode 
     \-[IDENT] IdentNode: 'arrayProp' {originalText=arrayProp}

任何人都知道如何从 arrayProp 中检索数据,thanx 寻求帮助?

4

1 回答 1

0

尝试使用查询:

String queryText = "select tableClass.arrayProp from TableClass";
Query query = session.createQuery(queryText);

然后,当您使用 query.list() 时,我认为您会得到 List(或 JPA 中的 List,我不确定)。如果您将获取列表,那么 Object[] 数组的第一个元素将是您的字符串数组 String[]。

于 2012-08-09T12:11:10.117 回答