Entities can be defined with a keyfield. This is used as the default alternative lookup for structures such as key-value stores.

push @entities, { name => 'entity1', keyfield => 'name', primary => [qw(id)], field => [ { name => 'id', type => 'bigserial' }, { name => 'name', type => 'text' }, ], };

resolve { entity1 => 'something', entity2 => 'another thing', entity1 => 'number 3', } sub { my ($something, $another_thing, $number_3) = @_; };