В одной из предыдущих статей я уже писал об использовании связки: jena + jenabean. Следует обратить особое внимание на генерацию идентификаторов объектов в jenabean.
Вот цитата с официального сайта:
WhatsUpWithThat
Questions about Jenabean
Q: Why do I need to annotate my beans with an Id?
Jenabean will create a URI for you, but it needs to know what makes your bean instance unique. Its class path and class name are useful, but it’s still necessary to distinguish between multiple instances of the same class. In the absence of an @Id annotated field or method, Jenabean will use the object’s hash code value (via the hashCode() method of java.lang.Object) but be warned, this is no unique, and will change when the bean is reconstituted from the triple store.
Таким образом, если явно не указать идентификатор, то он будет генерироваться далеко не самым надежным способом – через hashCode()!