JPAとJEEを使用してDB2表をOracleデータベースに移行します。このため、「Date」と「Time」タイプの列に問題があります。具体的には、Oracleでは "Time"というデータ型がないので、Oracleの "Date"型の列に2列(Date型とTime型のいずれか)の連結をDB2から格納しようとしていますデータベース。情報をカバーし、作業変数が正しく通知されるが、時間を参照する部分があり、たとえそうであっても日付と時刻をOracle日付列に格納
, DATA_HORA_CREACIO DATE DEFAULT
TO_DATE('0001-01-01-00.00.00','YYYY-MM-DD-HH24.MI.SS')
NOT NULL
private Date dataHoraCreacio;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "DATA_HORA_CREACIO", nullable = false)
public Date getDataHoraCreacio() {
return this.dataHoraCreacio;
}
public void setDataHoraCreacio(Date dataHoraCreacio) {
this.dataHoraCreacio = dataHoraCreacio;
}
SimpleDateFormat sdfDateHour = new SimpleDateFormat("yyyy-MM-dd-HH.mm.ss");
String data = sdfDate.format(comandaAvariaDb2.getId().getDataCreacio());
String hora = sdfHour.format(comandaAvariaDb2.getId().getHoraCreacio());
comandaAvariaOraId.setDataHoraCreacio(sdfDateHour.parse(data + "-" + hora));
:この方法では、私は、Oracleデータベースと私は定義されたマッピングで列を定義した方法を説明しますデータベースに格納されていません:
Variable working data: Thu Feb 02 18:42:53 CET 2006
DataBase inserted Value: 2006-02-02
私はそれを動作させずに数時間試しています。それでも、「タイムスタンプ」型の列を扱うことができたとしても、ミリ秒が不必要なスペースを占めるため、私は最善の解決法を考えていません。
アイデア?
ありがとうございます。
ここをクリックしてください - Oracle **は** TIMEデータ型を持っています:http://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj21908.html - 他のアイデアについて:あなたはどのように見えますか? 2006-02-02が挿入されましたか?なぜTIMESTAMPではなく、DATEをターゲットフィールドに使用していますか? – Jan
@ジャーン、私はリンクが正しいとは思わない。これはoracleデータベースではなく、 "java db"に対するものです。 – OldProgrammer
右。間違ったリンク。再度:oracle DATE列には、次の時間部分があります。https://docs.oracle.com/cd/B19306_01/server.102/b14225/ch4datetime.htm#i1006006 - 更新された回答を参照してください。 – Jan