Java& Flex:无法使用Set或HashSet数据

时间:2012-01-31 13:57:07

标签: java flex set hashset arraycollection

我再次问一个关于Flex和Java的问题,因为当我尝试在Flex中使用我的数据时,不可能有一些它们。

我有一个名为Group.java的文件,由hibernate生成,带有一些属性:

public class Group  implements java.io.Serializable {


     private Integer id;
     private String name;
     private Set users = new HashSet(0);
     private Set files = new HashSet(0);
     private Set users_1 = new HashSet(0);
     private Set messages = new HashSet(0);
     private Set users_2 = new HashSet(0);
}

我的Group.hbm.xml看起来像这样:

<property name="name" type="string">
            <column name="name" length="30" not-null="true" />
        </property>
        <set name="users" inverse="false" table="group_admin">
            <key>
                <column name="group_id" not-null="true" />
            </key>
            <many-to-many entity-name="DAO.User">
                <column name="user_id" not-null="true" />
            </many-to-many>
        </set>
        <set name="files" inverse="false" table="group_file">
            <key>
                <column name="group_id" not-null="true" />
            </key>
            <many-to-many entity-name="DAO.File">
                <column name="file_id" not-null="true" />
            </many-to-many>
        </set>

在flex中,当我尝试访问我的group.id或group.name时,它没问题,我有很好的价值观。 但是当我访问ton group.files时,它似乎是一个ArrayCollection。但是当我想访问它,或者只是尝试访问它的大小时,它不起作用,我不明白为什么。

private function resultHandler(result:ResultEvent):void {

    var t:Object = result.result;

    for (var i:String in t) {
        var group:valueObjects.Group = t[i];
        Alert.show(group.id+" : "+group.files.length);
        addGroup(group.id, group.name, group.messages.toArray());
    }
}

alert.show显示:(1:0),(2:0)但是我的表group_file中有2个文件,其中有一个foreign_key group.id,这些文件在我的HashSet中,但不在我的Flex组件中..

有人为我做了一个回音吗?

谢谢!

Algelos

0 个答案:

没有答案