Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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 什么';Hibernate查询中setTime(…)和setTimestamp(…)之间的区别是什么?_Java_Oracle_Hibernate - Fatal编程技术网

Java 什么';Hibernate查询中setTime(…)和setTimestamp(…)之间的区别是什么?

Java 什么';Hibernate查询中setTime(…)和setTimestamp(…)之间的区别是什么?,java,oracle,hibernate,Java,Oracle,Hibernate,我想知道为什么setTime方法的行为与setDate完全相同,date没有时间,或者相反,将时间设置为2014-07-01 13:21:01它设置为2014-07-01 00:00:00 setTime不推荐使用吗? 我应该使用setTimestamp吗?setTime()方法: setTime(Date)方法用给定的日期设置日历的时间 下面是java.util.Calendar.setTime()方法的声明 此方法不返回值 例如: 下面的示例显示java.util.calendar.setT

我想知道为什么setTime方法的行为与setDate完全相同,date没有时间,或者相反,将时间设置为2014-07-01 13:21:01它设置为2014-07-01 00:00:00

setTime不推荐使用吗? 我应该使用setTimestamp吗?

setTime()方法:

setTime(Date)方法用给定的日期设置日历的时间

下面是java.util.Calendar.setTime()方法的声明

此方法不返回值

例如: 下面的示例显示java.util.calendar.setTime()方法的用法

SetTimestamp方法:

将指定参数设置为给定的时间戳和日历值。 语法

setTime()方法:

setTime(Date)方法用给定的日期设置日历的时间

下面是java.util.Calendar.setTime()方法的声明

此方法不返回值

例如: 下面的示例显示java.util.calendar.setTime()方法的用法

SetTimestamp方法:

将指定参数设置为给定的时间戳和日历值。 语法


Oracle以外的数据库实际上区分了三种不同的数据类型:

  • 日期
    仅日期,无时间
  • 时间
    只有一天中的时间,没有日期
  • 时间戳
    日期和时间
JDBC试图抽象标准SQL概念,上述三种数据类型由ANSI SQL定义,因此JDBC需要支持它们


由于Oracle的日期总是包含时间,因此必须使用
setTimestamp()
,否则在将时间存储到数据库中时会丢失时间。

Oracle以外的数据库实际上会区分三种不同的数据类型:

  • 日期
    仅日期,无时间
  • 时间
    只有一天中的时间,没有日期
  • 时间戳
    日期和时间
JDBC试图抽象标准SQL概念,上述三种数据类型由ANSI SQL定义,因此JDBC需要支持它们


由于Oracle的日期总是包含时间,因此必须使用
setTimestamp()
,否则将时间存储在数据库中会丢失。

问题不是关于
Calendar.setTime()
而是关于
PreparedStatement.setTime()
我猜问题不是关于
Calendar.setTime()
但是关于
PreparedStatement.setTime()
我想
public final void setTime(Date date)
 package com.tutorialspoint;

      import java.util.*;

      public class CalendarDemo {

  public static void main(String[] args) {

  // create a calendar
  Calendar cal = Calendar.getInstance();

  // get the current time
  System.out.println("Current time is :" + cal.getTime());

  // create new date and set it
  Date date = new Date(95, 10, 10);
  cal.setTime(date);

  // print the new time
  System.out.println("After setting Time:  " + cal.getTime());
    }
 }
          public void setTimestamp(java.lang.String sCol,
                     java.sql.Timestamp x,
                     java.util.Calendar c)