我有一个具有以下依赖项的项目:
hibernate-entitymanager-4.1.8
hsql-2.2.8
我有一个持久性单元,包括:
<properties>
<property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
</properties>
以及一个具有字段的实体:
@Lob
@Column(name = "DOCUMENT")
private String document;
当我通过 EntityManager 坚持我的实体时,我看到了堆栈跟踪的以下结尾:
Caused by: java.lang.RuntimeException: unsupported internal operation: Session
at org.hsqldb.error.Error.runtimeError(Unknown Source)
at org.hsqldb.Session.performLOBOperation(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
at org.hsqldb.types.ClobDataID.nonSpaceLength(Unknown Source)
at org.hsqldb.types.CharacterType.castOrConvertToType(Unknown Source)
at org.hsqldb.types.CharacterType.convertToType(Unknown Source)
at org.hsqldb.StatementDML.getInsertData(Unknown Source)
at org.hsqldb.StatementInsert.getResult(Unknown Source)
在这里做一些明显错误的事情吗?尽管进行了很多更改并且在不同的机器上,这仍然有效。可能是依赖升级或从直接的 Spring/Hibernate 抽象层切换到 JPA/Hiberate 的结果。
其他几个人通过谷歌报告了同样的事情,但没有特别的解决方案:(