int num = 0;
String hql ="INSERT INTO Person (id,name,password,sex,email) VALUES ('?','?','?','?','?')";
Query q = this.session.createQuery(hql);
q.setString("0", p.getId());
q.setString("1", p.getName());
q.setString("2", p.getPassword());
q.setString("3", p.getSex());
q.setString("4", p.getEmail());
num = q.executeUpdate();
String hql ="INSERT INTO Person (id,name,password,sex,email) VALUES ('?','?','?','?','?')";
Query q = this.session.createQuery(hql);
q.setString("0", p.getId());
q.setString("1", p.getName());
q.setString("2", p.getPassword());
q.setString("3", p.getSex());
q.setString("4", p.getEmail());
num = q.executeUpdate();
二、q.setString(0, p.getId()); //设置时从0开始为第一个问号
String hql ="INSERT INTO Person (id,name,password,sex,email) VALUES (?,?,?,?,?)";
Query q = this.session.createQuery(hql);
q.setString(0, p.getId());
q.setString(1, p.getName());
q.setString(2, p.getPassword());
q.setString(3, p.getSex());
q.setString(4, p.getEmail());
num = q.executeUpdate();
去掉引号
String hql ="INSERT INTO Person (id,name,password,sex,email) VALUES (?,?,?,?,?)";
Query q = this.session.createSQLQuery(hql);
q.setString("id", p.getId());
q.setString("name", p.getName());
q.setString("password", p.getPassword());
q.setString("sex", p.getSex());
q.setString("email", p.getEmail());
num = q.executeUpdate();按照红色部分去改试试!