in reply to Re^3: object identity in DBIx::Class
in thread object identity in DBIx::Class

and ->find with the same arguments could return a totally different thing
Please note that I am not talking about arbitrary finds but finds for a primary key (maybe I made myself not clear).

What I want is (within one process) one db-entity (where indentity is given by primary key) to be represented at the object-level by the one and only one instance.

It would lead too far to explain why this is important to me.

Different processes would be in different transactions, that's no problem at all.

ironically Perl has no usable threads
Not true (and without any relevance for the question at hand).
switch to Class::DBI,and read this.
I have been thinking about building a cache using weak references myself, thanks for the link.