之前本人已经发过一次类似的帖子了!后来按帖子里面的内容去做,是可以的。但是这一次又不行!请指教! public User searchUser(String str) {
// TODO Auto-generated method stub
try{
Session s=hibernateUtil.currentSession();
hibernateUtil.beginTransaction();
User user=(User)s.load(User.class, str);
s.flush();
System.out.println(user.getPassword());
hibernateUtil.commitTransaction();
hibernateUtil.closeSession();
return user;
}
catch(HibernateException e){
log.fatal(e);
}
return null;
}问题就是为什么我要打印才能正确运行呢?如果不打印却不能获得正确的user类!
这次我已经对user类里面的每个属性设置了lazy,但是还是不行!
<class name="entity.User" table="user" catalog="hr">
<id name="username" type="java.lang.String">
<column name="username" length="45" />
<generator class="assigned" />
</id>
<property name="password" type="java.lang.String" lazy="true">
<column name="password" length="45" />
</property>
<property name="QEmp" type="java.lang.Short" lazy="true">
<column name="q_emp" />
</property>
<property name="QTra" type="java.lang.Short" lazy="true">
<column name="q_tra" />
</property>
<property name="QSal" type="java.lang.Short" lazy="true">
<column name="q_sal" />
</property>
<property name="QIns" type="java.lang.Short" lazy="true">
<column name="q_ins" />
</property>
<property name="QDep" type="java.lang.Short" lazy="true">
<column name="q_dep" />
请指教!
// TODO Auto-generated method stub
try{
Session s=hibernateUtil.currentSession();
hibernateUtil.beginTransaction();
User user=(User)s.load(User.class, str);
s.flush();
System.out.println(user.getPassword());
hibernateUtil.commitTransaction();
hibernateUtil.closeSession();
return user;
}
catch(HibernateException e){
log.fatal(e);
}
return null;
}问题就是为什么我要打印才能正确运行呢?如果不打印却不能获得正确的user类!
这次我已经对user类里面的每个属性设置了lazy,但是还是不行!
<class name="entity.User" table="user" catalog="hr">
<id name="username" type="java.lang.String">
<column name="username" length="45" />
<generator class="assigned" />
</id>
<property name="password" type="java.lang.String" lazy="true">
<column name="password" length="45" />
</property>
<property name="QEmp" type="java.lang.Short" lazy="true">
<column name="q_emp" />
</property>
<property name="QTra" type="java.lang.Short" lazy="true">
<column name="q_tra" />
</property>
<property name="QSal" type="java.lang.Short" lazy="true">
<column name="q_sal" />
</property>
<property name="QIns" type="java.lang.Short" lazy="true">
<column name="q_ins" />
</property>
<property name="QDep" type="java.lang.Short" lazy="true">
<column name="q_dep" />
请指教!
解决方案 »
- reflection in action适合刚入行的java程序员么
- 上次看到一个面试题: 关于值传递?引用传递
- session的一个小问题??急!!
- 找不到这个错了,请高手们帮帮忙!
- 怎样把XML文件的内容读到 StringBuffer中来!!!!!!!
- *求最好方法*循环读取每行数据,判断第一个字符是否数字分别写入不同文本
- 请问一下大家什么时候会新建一个新线程?
- 在子类中如何调用超类中的finalize方法
- 从数据存储层取得的大量记录怎样较好地传递给业务逻辑层?(用collection肯定会影响效率)
- 我想编写收发短消息的程序,怎样得到相关的方法(如何和移动或联通连接)?谢谢
- 今天面食完,说点想法。。。
- 求C++程序员向Java切换的快速入门书,谢谢!
你可以写一个测试类,测试这个方法
public Class Test{
public static void main(String [] args){
//实例化
Test test = new Test();
//调用searchUser(String)
//对了,你的searchUser是根据id查数据库的吧
User user = test.searchUser("1001");//1001是一个id
System.out.println(user.getPassword());
System.out.println(user.toString());
}
public User searchUser(String str) {
// TODO Auto-generated method stub
User user = new User();
try{
Session s=hibernateUtil.currentSession();
hibernateUtil.beginTransaction();
user=(User)s.load(User.class, str);
s.flush();
hibernateUtil.commitTransaction();
hibernateUtil.closeSession();
}
catch(HibernateException e){
log.fatal(e);
}
return user;
}
}
看看怎么样
要是还不行把load方法改成get方法看看...