2012-12-03 111 views
1

我使用JPA與Hibernate和有一些麻煩以下JPQL查詢JPA,休眠,DB2:JPQL查詢和char列

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,就像hibernate自己生成它一樣,查詢工作正常。

任何想法?

封閉的一些配置信息:

  • 休眠版本:3.6.10.Final
  • JDBC驅動程序:的db2jcc 3.61.65
  • 方言:org.hibernate.dialect.DB2Dialect
  • 域聲明:
 
    @Column(name = "USER_NAME", length = 50) 
    @NotNull 
    @Size(max = 50) 
    private String username; 
  • 用戶類型聲明 @TypeDef(name = "trimmedString", defaultForType = String.class, typeClass = TrimmedStringUserType.class)

回答