是否允许使用新的Java8日期类(如LocalDate )作为实体列字段的数据类型,以便使用same.We上更多需要使用的特性
<column name="createDate" type="LocalDate" />而不是<column name="createDate" type="Date" />
是否还有其他方法来实现这一点?调整hibernate版本,允许在相同的版本上使用吗?如果是,这有效吗?
发布于 2017-08-18 08:18:51
Liferay 6.2最初使用Java 7兼容性,后来才与Java 8兼容,主要是由于受支持的应用服务器的限制--这是一个很好的指示,表明Java 8类没有预见到的任何内容。虽然它们可能起作用,但你可能会遇到未经测试的领域。我不是说它是真的,也不是它它没有-虽然我怀疑你已经尝试过,并遇到了问题,当你问这里的问题。
正如古伊凡尼·格里凡特所说,升级Liferay内部的Hibernate很可能会造成巨大的混乱,如果你准备好了,我宁愿要求升级到Liferay 7(尽管我没有反复检查它的Hibernate版本)。
实现这种应用的另一种方法是使用旧的Date类型,只需向YourModelImpl中添加一个转换getLocalDate()和setLocalDate(),然后自己实现转换。是的,有点奇怪,但可能是最快的修复,没有很多立即升级的麻烦。但是,如果您使用6.2CE,请注意不会有更多的更新,您应该更早而不是更晚地转到7。如果你在EE上,你会有一段时间的支持。
发布于 2017-08-17 12:19:18
如果将带有Java 8的portlet部署到Liferay中,这并不是唯一的问题。如果您的代码是用Java 8编译的,并且包含由服务构建器生成的远程服务,则在部署此类portlet时会出现错误。这是因为Liferay使用Jodd来分析字节码,并获得/ api /jsonws Hibernate 5.x中显示的参数名,但是,如果不中断Liferay 6.2,则几乎不可能升级。
https://stackoverflow.com/questions/45728560
复制相似问题