JPA を休止状態で使用していますが、次の JPQL クエリで問題が発生しています。
final Query query = getEntityManager().createQuery(
"select u from User u where u.username = :username")
query.setParameter("username", "a");
DB2 V9.7 データベースを使用すると、ユーザー名が「a」のユーザーが存在する場合でも、クエリによって NoResultException が発生します。この問題は、ユーザー名の列の型が char の場合にのみ発生します。列の型を varchar に変更すると、休止状態が自分で生成するように、クエリは正常に機能します。
何か案は?
いくつかの構成情報を同封:
- 休止状態のバージョン: 3.6.10.Final
- jdbc ドライバー: db2jcc 3.61.65
- 方言: org.hibernate.dialect.DB2Dialect
- フィールド宣言:
@Column(名前 = "USER_NAME"、長さ = 50) @NotNull @サイズ(最大 = 50) プライベート文字列のユーザー名。
- ユーザー型宣言
@TypeDef(name = "trimmedString", defaultForType = String.class, typeClass = TrimmedStringUserType.class)