`

org.hibernate.TypeMismatchException: Provided id of the wrong type for class

    博客分类:
  • SSH
阅读更多

在使用Atomikos写demo的时候,用spring整合hibernate写一个查询,报错:org.hibernate.TypeMismatchException: Provided id of the wrong type for class aniyo.jta.atomikos.domain.BankAccount. Expected: class java.lang.Integer, got class java.lang.String

方法如下:

@Override
	public BankAccount getByUsername(String username) {
		return (BankAccount) this.getSession().get(BankAccount.class, username);
	}

 

因为没怎么用过hibernate,很多东西也不熟悉,到网上查了一下相关资料,后面才发现,this.getSession().get()方法,是通过id来查询的,所以这里会报错说,提供id类型错误,我这里传的是一个String的username,所以这里要通过username查询,可能过createQuery来查;最后修改如下:

@Override
	@SuppressWarnings("unchecked")
	public BankAccount getByUserName(String username) {
		 List<BankAccount> list = this.getSession().createQuery(
	                "select t from BankAccount t where t.username=:userName")
	                .setParameter("userName", username).list();
	        return list.isEmpty() ? null : list.get(0);
	}

 

分享到:
评论

相关推荐

    SPRING API 2.0.CHM

    HibernateInterceptor HibernateJdbcException HibernateJdbcException HibernateJpaDialect HibernateJpaVendorAdapter HibernateObjectRetrievalFailureException HibernateObjectRetrievalFailureException...

    Spring及Mybatis整合占位符解析失败问题解决

    nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'maxActive'; nested exception is ...

    26 Spring Core 数据绑定之DataBinder实现示例及背后原理探究慕课专栏(1)1

    然而,当类型不匹配时,BeanWrapper会抛出`org.springframework.beans.TypeMismatchException`异常。 2. **DataBinder实现**: DataBinder是Spring提供的更高级别的数据绑定工具,它不仅包含了BeanWrapper的功能,...

    Springmvc自定义类型转换器实现步骤

    throw new TypeMismatchException(source, Date.class, e); } } ``` 3. 配置Spring MVC 为了使自定义转换器生效,需要在Spring MVC的配置文件中声明并注册它。通常,你会在`WebMvcConfigurerAdapter`的子类中添加...

    ActionForm里的get和set方法

    如果转换失败,例如用户输入的不是一个有效的数字,Struts会抛出一个TypeMismatchException。开发者可以通过覆盖`validate()`方法来处理这些异常,或者在struts-config.xml配置文件中指定自定义的错误处理策略。 4....

Global site tag (gtag.js) - Google Analytics