The plugin's insertObject() calls locateObject() to check if another row with the same primary key already exists on the database. In HBase and other distributed column-oriented datastore, it's pretty common not to rely primary key constraint, but manage the uniqueness of the primary keys from the application codes. This is one of the trade-offs to get the maximum scalability from a distributed datastore.
So, it would be nice if you can use this option or not via JDO configuration per entity (persistent class) basis.
Also, you can optimize the current implementation by not fetching an actual data, but run a server-side existence check "HTable#exists(Get get)", so that you can keep the network traffic minimum.
I will contribute a patch to resolve this issue.