| /* |
| * Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. |
| * Copyright (c) 2005, 2015 SAP. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // SAP - initial API and implementation |
| |
| package org.eclipse.persistence.testing.models.wdf.jpa1.types; |
| |
| import java.math.BigInteger; |
| import java.sql.Time; |
| import java.sql.Timestamp; |
| import java.util.Calendar; |
| import java.util.Date; |
| import java.util.GregorianCalendar; |
| |
| import jakarta.persistence.Basic; |
| import jakarta.persistence.Column; |
| import jakarta.persistence.Entity; |
| import jakarta.persistence.Id; |
| import jakarta.persistence.PostUpdate; |
| import jakarta.persistence.Table; |
| import jakarta.persistence.Temporal; |
| import jakarta.persistence.TemporalType; |
| import jakarta.persistence.Transient; |
| |
| /* |
| * This entity class contains all supported <i>basic </i> data types. |
| * |
| * The Basic annotation is the simplest type of mapping to a database column. It can optionally be applied to any persistent |
| * property or instance variable of the following type: Java primitive types, wrappers of the primitive types, java.lang.String, |
| * java.math.BigInteger, java.math.BigDecimal, java.util.Date, java.util.Calendar, java.sql.Date, java.sql.Time, |
| * java.sql.Timestamp, byte[], Byte[], char[], Character[], enums, and any other type that implements Serializable. |
| */ |
| |
| @Entity |
| @Table(name = "TMP_TEMPORAL_FA") |
| public class TemporalTypesFieldAccess { |
| |
| @Transient |
| private boolean postUpdateCalled; |
| |
| protected TemporalTypesFieldAccess() { |
| } |
| |
| public TemporalTypesFieldAccess(BigInteger anId) { |
| id = anId; |
| } |
| |
| @Id |
| @Column(name = "ID", length = 19) |
| // issue id 8: was length = 20 |
| private BigInteger id; |
| |
| // (mutable) temporal types |
| @Temporal(TemporalType.TIMESTAMP) |
| @Column(name = "UTIL_DATE_TS") |
| protected Date utilDateAsTimestamp; |
| |
| @Temporal(TemporalType.TIMESTAMP) |
| @Column(name = "UTIL_CALENDAR_TS") |
| protected Calendar utilCalendarAsTimestamp; |
| |
| @Temporal(TemporalType.DATE) |
| @Column(name = "UTIL_DATE_D") |
| protected Date utilDateAsDate; |
| |
| @Temporal(TemporalType.DATE) |
| @Column(name = "UTIL_CALENDAR_D") |
| protected Calendar utilCalendarAsDate; |
| |
| @Basic |
| @Temporal(TemporalType.TIME) |
| @Column(name = "UTIL_DATE_T") |
| protected Date utilDateAsTime; |
| |
| @Basic |
| // intentionally combined @Basic and @Temporal |
| @Temporal(TemporalType.TIME) |
| @Column(name = "UTIL_CALENDAR_T") |
| protected Calendar utilCalendarAsTime; |
| |
| @Basic |
| @Column(name = "SQL_DATE") |
| protected java.sql.Date sqlDate; |
| |
| @Basic |
| @Column(name = "SQL_TIME") |
| protected Time sqlTime; |
| |
| @Basic |
| @Column(name = "SQL_TIMESTAMP") |
| protected Timestamp sqlTimestamp; |
| |
| public void fill() { |
| sqlDate = java.sql.Date.valueOf("2005-09-08"); |
| sqlTime = Time.valueOf("10:49:00"); |
| sqlTimestamp = new Timestamp(17000); |
| utilDateAsTimestamp = new Date(sqlTimestamp.getTime()); |
| utilDateAsTime = new Date(sqlTime.getTime()); |
| utilDateAsDate = new Date(sqlDate.getTime()); |
| utilCalendarAsTimestamp = new GregorianCalendar(2005, 9, 8, 10, 49); |
| utilCalendarAsDate = new GregorianCalendar(2005, 9, 8); |
| utilCalendarAsTime = new GregorianCalendar(1970, 1, 1, 10, 49); |
| |
| } |
| |
| public BigInteger getId() { |
| return id; |
| } |
| |
| public java.sql.Date getSqlDate() { |
| return sqlDate; |
| } |
| |
| public void setSqlDate(java.sql.Date sqlDate) { |
| this.sqlDate = sqlDate; |
| } |
| |
| public Time getSqlTime() { |
| return sqlTime; |
| } |
| |
| public void setSqlTime(Time sqlTime) { |
| this.sqlTime = sqlTime; |
| } |
| |
| public Timestamp getSqlTimestamp() { |
| return sqlTimestamp; |
| } |
| |
| public void setSqlTimestamp(Timestamp sqlTimestamp) { |
| this.sqlTimestamp = sqlTimestamp; |
| } |
| |
| public Calendar getUtilCalendarAsDate() { |
| return utilCalendarAsDate; |
| } |
| |
| public void setUtilCalendarAsDate(Calendar utilCalendarAsDate) { |
| this.utilCalendarAsDate = utilCalendarAsDate; |
| } |
| |
| public Calendar getUtilCalendarAsTime() { |
| return utilCalendarAsTime; |
| } |
| |
| public void setUtilCalendarAsTime(Calendar utilCalendarAsTime) { |
| this.utilCalendarAsTime = utilCalendarAsTime; |
| } |
| |
| public Calendar getUtilCalendarAsTimestamp() { |
| return utilCalendarAsTimestamp; |
| } |
| |
| public void setUtilCalendarAsTimestamp(Calendar utilCalendarAsTimestamp) { |
| this.utilCalendarAsTimestamp = utilCalendarAsTimestamp; |
| } |
| |
| public Date getUtilDateAsDate() { |
| return utilDateAsDate; |
| } |
| |
| public void setUtilDateAsDate(Date utilDateAsDate) { |
| this.utilDateAsDate = utilDateAsDate; |
| } |
| |
| public Date getUtilDateAsTime() { |
| return utilDateAsTime; |
| } |
| |
| public void setUtilDateAsTime(Date utilDateAsTime) { |
| this.utilDateAsTime = utilDateAsTime; |
| } |
| |
| public Date getUtilDateAsTimestamp() { |
| return utilDateAsTimestamp; |
| } |
| |
| public void setUtilDateAsTimestamp(Date utilDateAsTimestamp) { |
| this.utilDateAsTimestamp = utilDateAsTimestamp; |
| } |
| |
| @PostUpdate |
| public void postUpdate() { |
| postUpdateCalled = true; |
| |
| } |
| |
| public boolean postUpdateWasCalled() { |
| return postUpdateCalled; |
| } |
| |
| } |