Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对于添加空白日期还有其他建议吗?_Java_Sql_Hibernate_Null - Fatal编程技术网

Java 对于添加空白日期还有其他建议吗?

Java 对于添加空白日期还有其他建议吗?,java,sql,hibernate,null,Java,Sql,Hibernate,Null,可选,带有日期。出于这个原因,如果它是空的,我想将它另存为null。通常,当我从MSQL服务器程序输入NULL时,它被接受。但编码并不会发生这种情况。我采用了以下方法。但必须有一个更简单的方法。如果有人知道,我会很高兴的 try { Harcama u = (Harcama) t; // t yi Uye formatına çevirdim Session session = sessionFactory.openSession(); Transaction tran

可选,带有日期。出于这个原因,如果它是空的,我想将它另存为null。通常,当我从MSQL服务器程序输入NULL时,它被接受。但编码并不会发生这种情况。我采用了以下方法。但必须有一个更简单的方法。如果有人知道,我会很高兴的

try {
    Harcama u = (Harcama) t; // t yi Uye formatına çevirdim

    Session session = sessionFactory.openSession();
    Transaction transaction = session.beginTransaction();

    if (u.getBitis() == null) {
        SQLQuery insertQuery = session.createSQLQuery("INSERT INTO Harcama (turId,altId,basl,nott,harcananTL) VALUES (?,?,?,?,?)");

        insertQuery.setParameter(0, u.getTurId());
        insertQuery.setParameter(1, u.getAltId());
        insertQuery.setParameter(2, u.getBasl());
        insertQuery.setParameter(3, u.getNott());
        insertQuery.setParameter(4, u.getHarcananTl());
        insertQuery.executeUpdate();

        session.getTransaction().commit();

        sonuc=true;

        Gnl.MesajVer.Sonuc("Kayıt ekleme işlemi başarı ile Tamamlandı");

    } else {
        SQLQuery insertQuery = session.createSQLQuery("INSERT INTO Harcama (turId,altId,basl,bitis,nott,harcananTL) VALUES (?,?,?,?,?,?)");

        insertQuery.setParameter(0, u.getTurId());
        insertQuery.setParameter(1, u.getAltId());
        insertQuery.setParameter(2, u.getBasl());
        insertQuery.setParameter(3, u.getBitis());
        insertQuery.setParameter(4, u.getNott());
        insertQuery.setParameter(5, u.getHarcananTl());
        insertQuery.executeUpdate();
        session.getTransaction().commit();

        sonuc=true;

        Gnl.MesajVer.Sonuc("Kayıt ekleme işlemi başarı ile Tamamlandı");
   }
}

为了在
SQLQuery
参数中设置空值,您需要提供其类型,这样就可以去掉
if/else
语句:

Harcama u = (Harcama) t; // t yi Uye formatına çevirdim

Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();

SQLQuery insertQuery = session.createSQLQuery("INSERT INTO Harcama (turId,altId,basl,bitis,nott,harcananTL) VALUES (?,?,?,?,?,?)");

insertQuery.setParameter(0, u.getTurId());
insertQuery.setParameter(1, u.getAltId());
insertQuery.setParameter(2, u.getBasl());
// insertQuery.setParameter(3, u.getBitis(), new DateType()); // indicate hibernate type for nullable value
insertQuery.setParameter(3, u.getBitis(), StandardBasicTypes.DateType); // or use the type listed in Hibernate type registry
insertQuery.setParameter(4, u.getNott());
insertQuery.setParameter(5, u.getHarcananTl());
insertQuery.executeUpdate();
transaction.commit();

sonuc = true;

Gnl.MesajVer.Sonuc("Kayıt ekleme işlemi başarı ile Tamamlandı");