Java 8 ServiceBuilder是否支持使用Java8日期类?

Java 8 ServiceBuilder是否支持使用Java8日期类?,java-8,liferay-6,liferay-6.2,liferay-service-builder,Java 8,Liferay 6,Liferay 6.2,Liferay Service Builder,liferay 6.2是否允许使用新的Java 8日期类(如LocalDate)作为实体列字段的数据类型,以便在同一字段上使用更多功能。我们需要使用 <column name="createDate" type="LocalDate" /> 而不是 是否有其他方法可以实现这一点?调整hibernate版本是否允许在同一版本上使用,如果允许,是否有效?如果将带有Java 8的portlet部署到Liferay中,这不是唯一的问题。如果您的代码是用Java8编译的,并且包含由Ser

liferay 6.2是否允许使用新的Java 8日期类(如LocalDate)作为实体列字段的数据类型,以便在同一字段上使用更多功能。我们需要使用

<column name="createDate" type="LocalDate" />

而不是


是否有其他方法可以实现这一点?调整hibernate版本是否允许在同一版本上使用,如果允许,是否有效?

如果将带有Java 8的portlet部署到Liferay中,这不是唯一的问题。如果您的代码是用Java8编译的,并且包含由ServiceBuilder生成的远程服务,那么在部署这样的portlet时将出现错误。这是因为Liferay使用Jodd api来分析字节码并获取要在/api/jsonws中显示的参数名称
Hibernate 5.x支持新的date api,但是,如果不中断Liferay 6.2,升级的可能性很小。

如果将带有Java 8的portlet部署到Liferay中,这不是唯一的问题。如果您的代码是用Java8编译的,并且包含由ServiceBuilder生成的远程服务,那么在部署这样的portlet时将出现错误。这是因为Liferay使用Jodd api来分析字节码并获取要在/api/jsonws中显示的参数名称
Hibernate 5.x支持新的date api,但是,如果不中断Liferay 6.2,升级的可能性很小。

Liferay 6.2最初与Java 7兼容,后来才与Java 8兼容,主要是由于受支持的应用程序服务器的限制——这是一个很好的指标,表明在Java8类方面并没有预见到什么。虽然它们可能有效,但您可能会遇到未经测试的领域。我不是说它有也没有——尽管我怀疑你已经试过了,当你在这里问这个问题时遇到了问题

正如Guivani Grifante所说,升级Liferay中的Hibernate很可能会导致一个巨大的混乱,如果您准备好这样做,我宁愿要求升级到Liferay 7(尽管我没有仔细检查它的Hibernate版本)


实现这种采用的另一种方法是使用旧的
Date
类型,只需在
yourmodeimpl
中添加一个转换
getLocalDate()
setLocalDate()
,然后自己实现转换。是的,有点奇怪,但可能是最快的修复方法,不需要立即升级。但是,如果您使用6.2 CE,请注意,将不会有任何更新,您应该尽早转到7。如果您使用的是EE,您还需要一段时间的支持。

Liferay 6.2从Java 7兼容性开始,后来才与Java 8兼容,主要是由于受支持的应用程序服务器的限制-这很好地表明,Java 8类没有任何可预见性。虽然它们可能有效,但您可能会遇到未经测试的领域。我不是说它有也没有——尽管我怀疑你已经试过了,当你在这里问这个问题时遇到了问题

正如Guivani Grifante所说,升级Liferay中的Hibernate很可能会导致一个巨大的混乱,如果您准备好这样做,我宁愿要求升级到Liferay 7(尽管我没有仔细检查它的Hibernate版本)


实现这种采用的另一种方法是使用旧的
Date
类型,只需在
yourmodeimpl
中添加一个转换
getLocalDate()
setLocalDate()
,然后自己实现转换。是的,有点奇怪,但可能是最快的修复方法,不需要立即升级。但是,如果您使用6.2 CE,请注意,将不会有任何更新,您应该尽早转到7。如果您使用的是EE,您将有一段时间的支持。

感谢使用model Impl来满足当前需求的建议感谢使用model Impl来满足当前需求的建议