如何在 anylogic 8 中从数据库 table 中获取代理的对象

how to get the object of an agent from the database table in anylogic 8

在我的 anylogic 项目中,我创建了一组名为 DATA 的代理。此总体包含从数据库 table 中获取的 4 个值。这意味着这个群体中有 4 个代理人。 table 包含两列,即 data_id 和 data_state。最终这些成为这个代理数据的参数。 Table 示例如下:

data_id | data_state

d1     |  delivered

d2     |  delivered

d3     |  undelivered

d4     |  delivered

我在名为 "retransmit" 的事件中应用任何条件,根据该事件获取未传送数据的对象,然后调用。此事件在其他某个名为 SENDER 的代理中。一旦我通过 sql 获得了值 "d3" ,我如何从 SENDER 获得带有 data_id 'd3' 的 DATA 对象? 我应该写什么? main.datas.get(??)

我不想像这样硬编码:main.datas.get(2);

有人知道我可以通过什么方法或内置函数来实现吗?

假设只有一个DATA data_id=d3

Data theData=findFirst(main.datas,d->d.data_id==d3);

如果有很多

List <Data> theDatas=findAll(main.datas,d->d.data_id==d3);