oracle - 映射中的 oracle.sql.TIMESTAMPTZ 类的对象无法转换为 java.util.Date 类
问题描述
我在使用 TIMESTAMPTZ 的 eclipselink 中遇到问题。表中有一个具有时间戳和时区的列。当我运行我的程序时,我遇到了异常。
我已经在 stackOverflow 上尝试了所有类似的问题,甚至在下面的链接上。
https://www.eclipse.org/forums/index.php/t/443917/
Query q = em.createNativeQuery("SELECT * FROM MY_Schema.MyTable MT WHERE MT.START_DT = (SELECT MAX(START_DT) FROM MY_Schema.MyTable)",MyTable.class);
@Entity
@Table(name = "MyTable", schema = "MY_Schema")
public class MyTable implements Serializable {
@EmbeddedId
private MyTableId id;
@Embeddable
public class MyTableId implements Serializable {
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "END_DT")
private Calendar endTime;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "START_DT")
private Calendar startTime;
错误信息:
5943 [Default Executor-thread-32] ERROR com....MyClass -
javax.persistence.PersistenceException: Exception [EclipseLink-3002]
(Eclipse Persistence Services - 2.6.8.WAS-v20181218-0accd7f):
org.eclipse.persistence.exceptions.ConversionException Exception
Description: The object [oracle.sql.TIMESTAMPTZ@d1f0d927], of class
[class oracle.sql.TIMESTAMPTZ], from mapping
[org.eclipse.persistence.mappings.DirectToFieldMapping[startTime--Y_Schema.MyTable.START_DT]]
with descriptor [RelationalDescriptor(com.....MyTableId -->
[DatabaseTable(MY_Schema.MyTable)])], could not be converted to [class
java.util.Date]. at
org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult(QueryImpl.java:551)
解决方案
推荐阅读
- css - SidePanel css react-burger-menu
- python - pyinstaller 在执行我的 python 应用程序后无法导入模块
- json - 字典在swift中自动添加反斜杠\
- android - 在 WinPE 或 WinRE 下运行
- javascript - 如何将较小的饼图切片组合在一起以提高 chartjs 中的可读性
- html - 页面上有 2 个 CSS 文件,但优先考虑第一个
- r - 具有不同 Y 尺度的多个变量的箱线图
- java - 使用 Avro 文件中的 @JsonTypeInfo 注释反序列化类时杰克逊“InvalidTypeIdException:无法解析类型 ID”
- c++ - 如何创建要在 std::ostream 或 std::cout 中使用的函数
- c# - PasswordSignInAsync 未设置 User.Identity