22
22
import java .io .Serializable ;
23
23
import java .sql .Time ;
24
24
import java .sql .Timestamp ;
25
+ import java .time .LocalDate ;
26
+ import java .time .LocalDateTime ;
27
+ import java .time .LocalTime ;
28
+ import java .time .OffsetDateTime ;
29
+ import java .time .OffsetTime ;
30
+ import java .time .ZoneOffset ;
25
31
import java .util .Calendar ;
26
32
import java .util .Date ;
27
33
import java .util .HashMap ;
28
34
import java .util .Map ;
29
35
30
36
import javax .persistence .CascadeType ;
31
37
import javax .persistence .Column ;
32
- import javax .persistence .ElementCollection ;
33
38
import javax .persistence .Entity ;
34
39
import javax .persistence .GeneratedValue ;
35
40
import javax .persistence .Id ;
36
- import javax .persistence .MapKeyColumn ;
37
41
import javax .persistence .OneToMany ;
38
42
import javax .persistence .Table ;
39
43
import javax .persistence .TableGenerator ;
40
44
import javax .persistence .Temporal ;
41
45
import javax .persistence .TemporalType ;
42
46
43
47
@ Entity
44
- @ Table (name = "CMP3_DATE_TIME" )
48
+ @ Table (name = "CMP3_DATE_TIME" )
45
49
public class DateTime implements Serializable {
50
+
46
51
private Integer id ;
47
52
private java .sql .Date date ;
53
+ private LocalDate localDate ;
54
+ private LocalTime localTime ;
55
+ private LocalDateTime localDateTime ;
56
+ private OffsetTime offsetTime ;
57
+ private OffsetDateTime offsetDateTime ;
48
58
private Time time ;
49
59
private Timestamp timestamp ;
50
60
private Date utilDate ;
@@ -53,28 +63,28 @@ public class DateTime implements Serializable {
53
63
private Map <Date , DateTime > uniSelfMap ;
54
64
55
65
public DateTime () {
56
- }
57
-
58
- public DateTime (java .sql .Date date , Time time , Timestamp timestamp , Date utilDate , Calendar calendar ) {
59
- this .date = date ;
60
- this .time = time ;
61
- this .timestamp = timestamp ;
62
- this .utilDate = utilDate ;
63
- this .calendar = calendar ;
66
+ LocalTime localTime = LocalTime .of (0 , 0 );
67
+ LocalDateTime localDateTime = LocalDateTime .ofEpochSecond (0 , 0 , ZoneOffset .UTC );
68
+
69
+ this .date = new java .sql .Date (0 );
70
+ this .localDate = LocalDate .ofEpochDay (0 );
71
+ this .localTime = localTime ;
72
+ this .localDateTime = localDateTime ;
73
+ this .offsetTime = OffsetTime .of (localTime , ZoneOffset .UTC );
74
+ this .offsetDateTime = OffsetDateTime .of (localDateTime , ZoneOffset .UTC );
75
+ this .time = new Time (0 );
76
+ this .timestamp = new Timestamp (0 );
77
+ this .utilDate = new Date (0 );
78
+ this .calendar = Calendar .getInstance ();
64
79
65
80
uniSelfMap = new HashMap <Date , DateTime >();
66
81
uniSelfMap .put (new Date (), this );
67
82
}
68
83
69
84
@ Id
70
- @ GeneratedValue (strategy =TABLE , generator ="DATETIME_TABLE_GENERATOR" )
71
- @ TableGenerator (
72
- name ="DATETIME_TABLE_GENERATOR" ,
73
- table ="CMP3_DATETIME_SEQ" ,
74
- pkColumnName ="SEQ_NAME" ,
75
- valueColumnName ="SEQ_COUNT"
76
- )
77
- @ Column (name ="DT_ID" )
85
+ @ GeneratedValue (strategy = TABLE , generator = "DATETIME_TABLE_GENERATOR" )
86
+ @ TableGenerator (name = "DATETIME_TABLE_GENERATOR" , table = "CMP3_DATETIME_SEQ" , pkColumnName = "SEQ_NAME" , valueColumnName = "SEQ_COUNT" )
87
+ @ Column (name = "DT_ID" )
78
88
public Integer getId () {
79
89
return id ;
80
90
}
@@ -83,7 +93,7 @@ public void setId(Integer id) {
83
93
this .id = id ;
84
94
}
85
95
86
- @ Column (name = "SQL_DATE" )
96
+ @ Column (name = "SQL_DATE" )
87
97
public java .sql .Date getDate () {
88
98
return date ;
89
99
}
@@ -92,7 +102,52 @@ public void setDate(java.sql.Date date) {
92
102
this .date = date ;
93
103
}
94
104
95
- @ Column (name ="SQL_TIME" )
105
+ @ Column (name = "LOCAL_DATE" )
106
+ public LocalDate getLocalDate () {
107
+ return localDate ;
108
+ }
109
+
110
+ public void setLocalDate (LocalDate localDate ) {
111
+ this .localDate = localDate ;
112
+ }
113
+
114
+ @ Column (name = "LOCAL_TIME" )
115
+ public LocalTime getLocalTime () {
116
+ return localTime ;
117
+ }
118
+
119
+ public void setLocalTime (LocalTime localTime ) {
120
+ this .localTime = localTime ;
121
+ }
122
+
123
+ @ Column (name = "OFFSET_DATE_TIME" )
124
+ public OffsetDateTime getOffsetDateTime () {
125
+ return offsetDateTime ;
126
+ }
127
+
128
+ public void setOffsetDateTime (OffsetDateTime offsetDateTime ) {
129
+ this .offsetDateTime = offsetDateTime ;
130
+ }
131
+
132
+ @ Column (name = "OFFSET_TIME" )
133
+ public OffsetTime getOffsetTime () {
134
+ return offsetTime ;
135
+ }
136
+
137
+ public void setOffsetTime (OffsetTime offsetTime ) {
138
+ this .offsetTime = offsetTime ;
139
+ }
140
+
141
+ @ Column (name = "LOCAL_DATE_TIME" )
142
+ public LocalDateTime getLocalDateTime () {
143
+ return localDateTime ;
144
+ }
145
+
146
+ public void setLocalDateTime (LocalDateTime localDateTime ) {
147
+ this .localDateTime = localDateTime ;
148
+ }
149
+
150
+ @ Column (name = "SQL_TIME" )
96
151
public Time getTime () {
97
152
return time ;
98
153
}
@@ -101,7 +156,7 @@ public void setTime(Time date) {
101
156
this .time = date ;
102
157
}
103
158
104
- @ Column (name = "SQL_TS" )
159
+ @ Column (name = "SQL_TS" )
105
160
public Timestamp getTimestamp () {
106
161
return timestamp ;
107
162
}
@@ -110,7 +165,7 @@ public void setTimestamp(Timestamp date) {
110
165
this .timestamp = date ;
111
166
}
112
167
113
- @ Column (name = "UTIL_DATE" )
168
+ @ Column (name = "UTIL_DATE" )
114
169
@ Temporal (TemporalType .TIMESTAMP )
115
170
public Date getUtilDate () {
116
171
return utilDate ;
@@ -120,7 +175,7 @@ public void setUtilDate(Date date) {
120
175
this .utilDate = date ;
121
176
}
122
177
123
- @ Column (name = "CAL" )
178
+ @ Column (name = "CAL" )
124
179
// No @Temporal to test defaulting
125
180
public Calendar getCalendar () {
126
181
return calendar ;
@@ -139,6 +194,4 @@ public Map<Date, DateTime> getUniSelfMap() {
139
194
public void setUniSelfMap (Map <Date , DateTime > u ) {
140
195
uniSelfMap = u ;
141
196
}
142
-
143
-
144
197
}
0 commit comments