为什么我的Hibernate能显示数据,但却不能执行save(),delete(),update方法??...急急急!!
数据操作代码DbOperate.java如下:package hib;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class DbOperate {
SessionFactory sf;
public void getSF(){
sf= new Configuration()
.configure()
.buildSessionFactory();
}
public DbOperate(){
getSF();
}
//显示数据显示方法
public void ShowAlldata(){
Session session=sf.openSession();
Query query=session.createQuery("from Users");
    List list=query.list();
    for(int i=0;i<=list.size();i++){
     Users users=(Users)list.get(i);
     String s="ID:"+users.getId()+"name:"+users.getName()+"sex:"+users.getSex()+"address:"+users.getAddress();
     System.out.println(s);      
    }
    session.close();
}
//显示数据保存方法
public void SaveData(Users us){
Session session=sf.openSession();
Transaction tx=null;
try {
tx=session.beginTransaction();

if(session.get(Users.class, us.getId())!=null){
System.out.println("该用户已经存在");
return;
}
else{
tx=session.beginTransaction();
session.save(us);
tx.commit();
System.out.println("注册成功");
}

} catch (HibernateException e) {
if(tx!=null){
tx.rollback();
e.printStackTrace();
}
}
finally{
session.close();
}
}
//显示数据修改方法
public void UpdateData(Users us){
Session session=sf.openSession();
Transaction tx=null;
try {
tx=session.beginTransaction();
Users user=(Users)session.get(Users.class, us.getId());
if(user==null){
System.out.print("该用户不不存在");
return;
}
else{
user.setId(us.getId());
user.setName(us.getName());
user.setSex(us.getSex());
user.setAddress(us.getAddress());
session.update(user);
tx.commit();
System.out.println("修改成功");

}
} catch (HibernateException  e) {
if(tx!=null){
tx.rollback();
e.printStackTrace();
}
}
finally{
session.close();
}
}
//删除数据方法
public void DeleteData(String userId){
Session session=sf.openSession();
Transaction tx=null;
try {
tx=session.beginTransaction();
Users user=(Users)session.get(Users.class, userId);

if(user==null){
System.out.println("该用户不存在");
return;
}
else{
session.delete(user);
tx.commit();
System.out.println("该用户已删除");

}
} catch ( HibernateException e) {
if(tx!=null){
tx.rollback();
e.printStackTrace();
}
}
finally{
session.close();
}
}
}
hibernate.cfg.xml如下:<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- local connection properties -->
<property name="hibernate.connection.url">
jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=testhib
</property>
<property name="hibernate.connection.driver_class">
com.microsoft.jdbc.sqlserver.SQLServerDriver
</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password" />
<!-- property name="hibernate.connection.pool_size"></property -->
<!-- dialect for DB2 -->
<property name="dialect">
org.hibernate.dialect.DB2Dialect
</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
<mapping resource="hib/Users.hbm.xml" />
</session-factory>
</hibernate-configuration>