[英]How to add a LIST item with Java API Repository in Oracle ATG?
我创建此存储库:
<gsa-template>
<item-descriptor name="indirizzo" >
<table name="INDIRIZZO" type="primary" id-column-name="ID_INDIRIZZO">
<property name="via" data-type="string" column-name="VIA" />
<property name="civico" data-type="int" column-name="CIVICO" />
</table>
</item-descriptor>
<item-descriptor name="utente" >
<table name="UTENTE" type="primary" id-column-name="ID_UTENTE">
<property name="nome" data-type="string" column-name="NOME" />
<property name="cognome" data-type="string" column-name="COGNOME" />
<property name="indirizzi" data-type="list" component-item-type="indirizzo" />
</table>
</item-descriptor>
在Java类中,我想添加一个具有多个地址的新用户。 然后,我想使用Java API存储库。 我尝试了这个:
MutableRepositoryItem item_utente = getMutableRepository().createItem(
UTENTE);
MutableRepositoryItem item_indirizzo = getMutableRepository().createItem(
INDIRIZZO);
item_indirizzo.setPropertyValue(VIA, v1);
item_indirizzo.setPropertyValue(CIVICO, civ1);
getMutableRepository().addItem(item_indirizzo);
item_indirizzo.setPropertyValue(VIA, v2);
item_indirizzo.setPropertyValue(CIVICO, civ2);
getMutableRepository().addItem(item_indirizzo);
item_utente.setPropertyValue(NOME, n);
item_utente.setPropertyValue(COGNOME, c);
item_utente.setPropertyValue(INDIRIZZI, item_indirizzo);
getMutableRepository().addItem(item_utente);
但是它不起作用,我建议使用,因为我没有创建实际的Java列表。 我想在数据库中插入一个具有2个或更多地址的用户。 有些不同的想法还是我要修正我的代码?
如果您的数据类型是列表,则可以使用xml添加项目,就像对原始数据类型(用逗号分隔值)进行的操作一样,如下所示:
<add-item item-descriptor="utente" id="test1">
<set-property name="nome" value="testNome"/>
<set-property name="cognome" value="testCognome"/>
<set-property name="indirizzi" value="test2,test3,test4"/>
</add-tem>
请查看下面的页面以获取更多详细信息。
http://docs.oracle.com/cd/E24152_01/Platform.10-1/ATGRepositoryGuide/html/s1302setproperty01.html
创建存储库列表项。
List<RepositoryItem> item_indirizzo_List=new ArrayList<RepositoryItem>();
将项目添加到列表。 然后添加如下
item_utente.setPropertyValue(INDIRIZZI, item_indirizzo_List);
可能会对您有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.