0
我试过了,但找不到正确的答案,请帮我一下吗? 表正在创建,但数据没有被插入。我修正了上述错误,但数据没有插入到Hibernatetemplate的save()中。HibernateTemplate save()没有将数据插入到数据库中弹出
我试过了,但找不到正确的答案,请帮我一下吗? 表正在创建,但数据没有被插入。我修正了上述错误,但数据没有插入到Hibernatetemplate的save()中。HibernateTemplate save()没有将数据插入到数据库中弹出
@Transactional(propagation=Propagation.REQUIRED,readOnly=false)
public class StudentDaoImplHT implements StudentDao {
private HibernateTemplate ht;
public void setHt(HibernateTemplate ht) {
this.ht = ht;
}
@Transactional
@Override
public int save(Student st) {
int i=(Integer) ht.save(st);;
System.out.println(st.getId());
System.out.println(st.getAddress());
System.out.println(st.getEmail());
System.out.println(st.getName());
return i; }
@Override
public boolean update(Student st) {
ht.saveOrUpdate(st);
return true;
}
@Override
public boolean delete(Student st) {
//ht.delete(st);
return true;
}
@Override
public Student findByPK(int id) {
Student std=(Student) ht.get(Student.class, id);
return std;
}
@Override
public List<Student> findByAllUsingHQL() {
List<Student> list=(List<Student>) ht.find("from Student");
return list;
}
@Override
public List<Student> findByAllUsingCriteria() {
DetachedCriteria dc=DetachedCriteria.forClass(Student.class);
//dc.setProjection(projection);
//ht.findByCriteria(criteria)
List<Student> list= (List<Student>) ht.findByCriteria(dc);
return null;
}
}
调用saveOrUpdate()方法而不是save()并检查你的类实现Serializable –
欢迎使用stackoverflow。请,你能提供一些你的具体问题的代码吗?这可以证明你尝试了多远,它会帮助其他成员更好地理解你的问题,当时,你会给他们一个你的问题的背景。请检查以下链接:https://stackoverflow.com/help/mcve和https://stackoverflow.com/help/how-to-ask –
@PankajMandale使用saveOrUpdate并不是一个好的做法。你应该知道你是否正在创建或更新一行。将它留给Hibernate比较慢,可能会导致架构问题。 –