Have you read section 5.1.5 of the ref docs?
Quote:
Unfortunately, this approach to composite identifiers means that a persistent object is its own identifier. There is no convenient "handle" other than the object itself. You must instantiate an instance of the persistent class itself and populate its identifier properties before you can load() the persistent state associated with a composite key. We call this approach an embedded composite identifier, and discourage it for serious applications.
You can use mapped ids (same section) to work around this. It involves defining a POJO for the key object. You already have the POJO, Help.HelpId. So this is the solution you want. Read that section for the gotchas involved in this solution.