哎呀我草 hibernate的那些get load 方法 太可怕了
写了一个根据id 查询 pass的方法 
/**
*获取pass
*/
        public String selectpass(String name) {
		String pass = hibernatetemplate.get(User.class, getId(name)).getPass();
		System.out.println(pass);
		return pass;
	}
        //获取id
	public int getId(String name) {
		int id = (Integer) hibernatetemplate.find(
				"select id from User user where name='" + name + "'").get(0);
		return id;
	}
按说这个没啥问题吧。。
然后诡异的问题出现了 
如果密码部分 不是纯数字的字符串的话 
死活不走 代码。。
下面那个不输出了。
但是 如果是纯数字的字符串。。
则正常输入 ajax回调验证 
真心奇怪 难道get方法拿到对象只能get纯数字的字符串吗 
要真是这样的功能 我还是滚回去 用我的sql把 
hibernate的方法太口怕了
              
              
------解决方案--------------------
这代码看着别扭,好像有错,你try catch一下估计会有异常
------解决方案--------------------hibernate很垃圾,但是也别自己脑子进水就怨Hibernate。
你下面的方法都能直接查询到user对象了,还返回个ID再查一次?
要么是下面的方法返回的ID就不对,要么是自己拼接HQL时候遇到编码或者类型转换了。
------解决方案--------------------密码不是纯数字就不走?这应该是你前段代码的问题,跟后台没有关系吧?
------解决方案--------------------
都取到user对象了,还要再查一次
String pass = hibernatetemplate.find("from User as u where u.name='" + name + "'").get(0).getPass();
------解决方案--------------------按照楼上说的try catch捕获一次吧。。估计是类型转换的问题。。检查下数据库跟配置对照上没?要说一个框架好不好首先得了解它。。而不是出了问题无法解决就说框架没用哦