我有一个 Order 实体和一个 Address 实体,在我的Schema::Result::Order
模块中我有一个简单的属于关系:
__PACKAGE__->belongs_to( "address", 'Schema::Result::Address',
{ addressid => 'addressid' });
我使用以下代码运行此代码DBIC_TRACE=1
:
my $order = $schema->resulset('Order')->find($id);
my $add1 = $order->address;
my $add2 = $order->address;
我只看到一个SELECT ... FROM ADDRESS ...
查询,所以显然第二种$order->address
方法没有命中数据库。
所以这可能是一个简单的问题,但是地址对象在哪里被缓存?(在$order
对象中?)
其次,这种缓存是否可配置(即我可以将 DBIC 配置为不缓存这些关系)吗?