繁体   English   中英

JPA将简单的String对象映射到Oracle Date类型?

[英]JPA map simple String object to Oracle Date type?

我有一个表,其中日期列存储为varchar。 在执行对象关系映射时(我正在使用eclipselink),我想将此字符串/ varchar映射到Java中的Date对象。

我的桌子是:

T_BUSINESS
  TRAN_ID        Number, 
  BUSINESS_DATE  Varchar

并且我想选择营业日期在两个输入日期之间的所有行,这里的问题是因为BUSINESS_DATE是varchar我无法进行比较。 我无法修改表,也不想使用本机sql。

谁能告诉我该怎么做。

提前致谢!

您可以使用TypeConverter对此进行映射,

看到,

http://www.eclipse.org/eclipselink/documentation/2.4/jpa/extensions/a_typeconverter.htm#CHDHCCJF

在查询中进行比较可能会更困难,我认为默认日期格式为yyyy-mm-dd,因此可以进行varchar比较。 否则,您确实需要数据库上的真实DATE字段。 您可以使用数据库函数将varchar转换为DATE以进行比较,例如使用CAST或FUNCTION,而EclipseLink支持的是JPQL。

参见http://www.eclipse.org/eclipselink/documentation/2.4/jpa/extensions/j_cast.htm#cast

http://www.eclipse.org/eclipselink/documentation/2.4/jpa/extensions/j_func.htm#func

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM