有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Hibernate/BlazeDS中管理关联实体

我一直在研究Java/Hibernate/BlazeDS集成,但我一直在努力在BlazeDS之间以一对多的关系发送子实体

首先,我在MS Sql Server中有一个Client和ClientLinks表

现在,客户端中定义ClientLinks实体的属性是

private Set clientLinks = new HashSet(0);

在AS3端,属性设置器是

public function set clientProfiles(value:mx.collections.ICollectionView):void {
  const oldValue:mx.collections.ICollectionView = this._clientProfiles;
  if (oldValue != value) {
    this._clientProfiles = value;
    dispatchUpdateEvent("clientProfiles", oldValue, value);            
  }
}

我正在使用farrata系统插件生成基于java的AS3(这可能是我的问题),我想知道是否有一种老派的方法可以做到这一点

现在发生的是,当我从flex客户端调用Java端的方法时,我收到了一个强类型客户端(太好了!)但是ClientLinks由mx.collections::ArrayCollection表示。我希望ClientLinks映射到我的as3 ClientLinks,并像client.clientLinks[0].linkname等那样访问它们。。等等

有人能告诉我最好的方法吗


共 (1) 个答案

  1. # 1 楼答案

    Java集合将始终映射为ArrayCollection。如果希望强类型AS3集合,则应使用包装器类:

    public class ClientLinkCollection implements IList, ICollectionView
    {
        private var _source: ArrayCollection = null;
    
        public function ClientLinks(source: ArrayCollection): void
        {
            if (source is ArrayCollection)
                _source = ArrayCollection(source);
            else
                throw new TypeError("Invalid argument type!");
        }    
    
        public function getClientLinkItem(index: int): ClientLink
        {
            return ClientLink(_source.getItemAt(index));
        }
    
        ...
    }