主キークラスが @IdClass 注釈で定義されている場合、EntityManager.find() を行うと、別のエントリのサブクラスであるエンティティーに対して IllegalArgumentException が誤って発生します。詳細については、https://glassfish.dev.java.net/issues/show_bug.cgi?id=595 を参照してください。
find() メソッドへの引数として、最上位のスーパークラスのクラスを使用し、その結果をサブクラスへキャストしてください。