2017-09-02 3 views
0

私は試しましたが、正解を見つけることができませんでしたか? テーブルが作成されていますが、データが挿入されていません。上記のエラーは修正されましたが、データはHibernateetemplate save()のdbに挿入されません。HibernateTemplate save()がバネ付きのデータベースにデータを挿入していません

+0

コールするsaveOrUpdate()メソッドの代わりに、保存()とも、あなたのクラスはSerializableを –

+0

はStackOverflowのへようこそ実装し確認してください。特定の問題のコードを提供してください。それはあなたがどれだけ試してみたのかを証明し、他のメンバーがあなたの問題をより良く理解するのを助けます。その時、あなたは問題の文脈を与えます。これらのリンクを確認してください:https://stackoverflow.com/help/mcveおよびhttps://stackoverflow.com/help/how-to-ask –

+0

@PankajMandale saveOrUpdateの使用は良い方法ではありません。行を作成または更新するかどうかを知っておく必要があります。それをHibernateに任せることは遅く、アーキテクチャ上の問題につながる可能性があります。 –

答えて

0
@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; 
    } 
} 
関連する問題