java - Hibernate @CollectionId 有错误 : HHH000346: Error during managed flush

标签 java hibernate

我在 hibernate 中编写了一些代码。在这段代码中,我想将集合作为新表插入数据库中,此代码创建表并映射外键,但无法在表中插入数据并抛出异常。 这是我的 hibernate 代码:

@ElementCollection()
@JoinTable(name="user_address",
joinColumns=@JoinColumn(name="userId")
)
@GenericGenerator(name = "hilo-gen", strategy ="hilo")
@CollectionId(columns = { @Column(name="address_id") }, generator ="hilo-gen", type =@Type(type="long"))

这是一些错误:

org.hibernate.internal.SessionImpl$5 mapManagedFlushFailure
ERROR: HHH000346: Error during managed flush [org.hibernate.id.IdentifierGeneratorHelper$2 cannot be cast to java.lang.Long]
Exception in thread "main" java.lang.ClassCastException: org.hibernate.id.IdentifierGeneratorHelper$2 cannot be cast to java.lang.Long

最佳答案

尝试使用不同的生成器策略。
@GenericGenerator(name = "inc-gen", Strategy ="increment") 应该可以正常工作。

阅读更多 -> 5.1.2.2.1. Various additional generators.

关于java - Hibernate @CollectionId 有错误 : HHH000346: Error during managed flush,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32595527/

相关文章:

java - 进行涉及 Java 的 RAW 套接字编程的最佳方法

java - 设置插入符位置,其中插入符不在 JTextArea 中

java - 将 EditText 带到 Android WebView 的前面

java - 需要将通过 jpa 获取的 uniqueresult 转换为 String 数组的解决方案

java - Spring Boot + Hibernate - 如何维护 @Transient 字段

java - Hibernate createNativeQuery 使用 IN 子句

javafx 8 如何使选择框在选择前后看起来相同(无焦点)

java - Hibernate 和 Postgres 位置参数不匹配

java - Hibernate 映射中的最佳获取实践(多对一)

Spring & Hibernate - 使 native 查询与@Transactional 在同一事务中运行