gpt4 book ai didi

java.lang.ClassCastException : org. hibernate.type.StringType 无法转换为 org.hibernate.type.VersionType

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:05:06 24 4
gpt4 key购买 nike

我正在开发一个数据库连接器,以便从 Oracle 数据库中检索数据。我使用了作为插件包含在 Eclipse 中的 Hibernate 工具来生成 Hibernate 映射文件,因为我有很多类和表要映射。但是,当我运行该应用程序时,出现以下异常:

java.lang.ClassCastException: org.hibernate.type.StringType cannot be cast to org.hibernate.type.VersionType
at org.hibernate.tuple.PropertyFactory.buildVersionProperty(PropertyFactory.java:107)
at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:181)
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:485)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:133)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:286)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845)
at eu.cartif.dwhconn.database.DBManager.checkDWHStatus(DBManager.java:57)
at eu.cartif.dwhconn.database.DBManager.main(DBManager.java:24)

我认为问题可能出在 hbm 文件的属性类型上:

<hibernate-mapping>
<class name="eu.cartif.dwhconn.database.Ifcactorrole" table="IFCACTORROLE">
<id name="role" type="string">
<column name="ROLE" length="50" />
<generator class="assigned" />
</id>
<property name="userdefinedrole" type="string">
<column name="USERDEFINEDROLE" />
</property>
<property name="description" type="string">
<column name="DESCRIPTION" length="3000" />
</property>
<set name="ifcpersons" table="IFCPERSON" inverse="true" lazy="true" fetch="select">
<key>
<column name="ROLES" length="50" />
</key>
<one-to-many class="eu.cartif.dwhconn.database.Ifcperson" />
</set>
<set name="ifcpersonandorganizations" table="IFCPERSONANDORGANIZATION" inverse="true" lazy="true" fetch="select">
<key>
<column name="ROLES" length="50" />
</key>
<one-to-many class="eu.cartif.dwhconn.database.Ifcpersonandorganization" />
</set>
</class>
</hibernate-mapping>

但是,我不确定,如果这不是解决方案,我不想更改所有 hbms 中的所有类型。请任何人帮助我。

非常感谢您,祝你有个愉快的一天

最佳答案

在我的例子中,我从数据库生成了实体,一些实体的列名有“版本”。此名称的生成器添加“@Version”注释,但此列类型为 String - 对于 @Version 注释 Not Acceptable

关于java.lang.ClassCastException : org. hibernate.type.StringType 无法转换为 org.hibernate.type.VersionType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15133348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com