我再次问一个关于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