 <p>You should not embed firstName and lastName in the primary key. userId should be your primary key, and you should add a unique constraint on [firstName, lastName]. BTW, putting these additional fields in the primary key only guarantees that [idUser, firstName, lastName] is unique, but you might still have two users with different idUsers, but with the same [firstName, lastName].</p> <p>Now to answer the original question, I don't see where the problem is :</p> <pre><code>UserId userId = new UserId("theId", "theFirstName", "theLastName"); User user = (User) session.load(User.class, userId); </code></pre>