还有其他关于添加空白日期的建议吗?

qoefvg9y  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(342)

带日期可选。因此,如果它是空的,我想将它保存为null。通常,当我从msql服务器程序输入null时,它被接受。但编码是不会发生的。我采用了以下方法。但一定有更简单的方法。如果有人知道,我会很高兴的。

  1. try {
  2. Harcama u = (Harcama) t; // t yi Uye formatına çevirdim
  3. Session session = sessionFactory.openSession();
  4. Transaction transaction = session.beginTransaction();
  5. if (u.getBitis() == null) {
  6. SQLQuery insertQuery = session.createSQLQuery("INSERT INTO Harcama (turId,altId,basl,nott,harcananTL) VALUES (?,?,?,?,?)");
  7. insertQuery.setParameter(0, u.getTurId());
  8. insertQuery.setParameter(1, u.getAltId());
  9. insertQuery.setParameter(2, u.getBasl());
  10. insertQuery.setParameter(3, u.getNott());
  11. insertQuery.setParameter(4, u.getHarcananTl());
  12. insertQuery.executeUpdate();
  13. session.getTransaction().commit();
  14. sonuc=true;
  15. Gnl.MesajVer.Sonuc("Kayıt ekleme işlemi başarı ile Tamamlandı");
  16. } else {
  17. SQLQuery insertQuery = session.createSQLQuery("INSERT INTO Harcama (turId,altId,basl,bitis,nott,harcananTL) VALUES (?,?,?,?,?,?)");
  18. insertQuery.setParameter(0, u.getTurId());
  19. insertQuery.setParameter(1, u.getAltId());
  20. insertQuery.setParameter(2, u.getBasl());
  21. insertQuery.setParameter(3, u.getBitis());
  22. insertQuery.setParameter(4, u.getNott());
  23. insertQuery.setParameter(5, u.getHarcananTl());
  24. insertQuery.executeUpdate();
  25. session.getTransaction().commit();
  26. sonuc=true;
  27. Gnl.MesajVer.Sonuc("Kayıt ekleme işlemi başarı ile Tamamlandı");
  28. }
  29. }
ipakzgxi

ipakzgxi1#

为了在 SQLQuery 您需要提供其类型的参数,以便可以除去 if/else 声明:

  1. Harcama u = (Harcama) t; // t yi Uye formatına çevirdim
  2. Session session = sessionFactory.openSession();
  3. Transaction transaction = session.beginTransaction();
  4. SQLQuery insertQuery = session.createSQLQuery("INSERT INTO Harcama (turId,altId,basl,bitis,nott,harcananTL) VALUES (?,?,?,?,?,?)");
  5. insertQuery.setParameter(0, u.getTurId());
  6. insertQuery.setParameter(1, u.getAltId());
  7. insertQuery.setParameter(2, u.getBasl());
  8. // insertQuery.setParameter(3, u.getBitis(), new DateType()); // indicate hibernate type for nullable value
  9. insertQuery.setParameter(3, u.getBitis(), StandardBasicTypes.DateType); // or use the type listed in Hibernate type registry
  10. insertQuery.setParameter(4, u.getNott());
  11. insertQuery.setParameter(5, u.getHarcananTl());
  12. insertQuery.executeUpdate();
  13. transaction.commit();
  14. sonuc = true;
  15. Gnl.MesajVer.Sonuc("Kayıt ekleme işlemi başarı ile Tamamlandı");
展开查看全部

相关问题