java - Hibernate 初始 SessionFactory 创建失败

标签 java hibernate jsf liferay

我正在尝试使用 hibernate 来填充 ApplicationBean(在 Liferay 中)中的 jsf selectonemenu。问题是我遇到了 Initial SessionFactory creation failed 问题。在将我的函数放入 applicationbean 之前,我将它们设置在 sessionbean 中并且没有出现错误。

现在完整的错误

Initial SessionFactory creation failed. 
java.lang.ClassCastException: org.hibernate.type.StringType cannot be cast to org.hibernate.type.VersionType

最佳答案

您很可能在某处有一个名为 VERSIONVARCHAR 列,Hibernate 的逆向工程工具将其生成为:

<version name="version" type="string">
    <column name="VERSION" length="20" />
</version>

代替:

<property name="version" type="string">
    <column name="VERSION" length="20" />
</property>

前者是错误的。首先,我认为这不是你想要的。其次,版本字段不允许使用字符串,如 5.1.9. Version (optional) 章中所述:

Version numbers can be of Hibernate type long, integer, short, timestamp or calendar.

此问题已在 HHH-3002 中以某种方式报告(实际上,它应该分配给 Hibernate Tools,而不是 Hibernate Core)我看到有两种解决方法。要么

  • 手动修复映射
  • 将该列重命名为其他名称。

关于java - Hibernate 初始 SessionFactory 创建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3044804/

相关文章:

java - 重复键 org.jetbrains.jps.model.module.impl.JpsModuleImpl

jsf - JSF 中 "view state"的架构目的是什么?

jsf - 将参数传递给 p :autoComplete 的completeMethod

java - HttpURLConnection Post 请求,使用来自 javax.rs.ws.Response 对象的响应进行响应

java - Java 打印数组

java - Hibernate 期待 "all",发现 '(' - 这是什么意思?

java - JPA 复合外主键

java - pojo 中的 joda.time.DateTime 支持 hibernate

java - 将转换后的值放入丰富的 :simpleTogglePanel label 中

java - 有什么方法可以加快java中两个 double 组之间的余弦相似度的计算吗?