java - HSQL 中的 GenericJDBCException

标签 java hibernate hsqldb

我有一个名为 ProdTransaction 的实体。我正在保存两条 ProdTransaction 类型的记录。独立运行时,两个插入都会成功。我的意思是

tranDAO.save(record1) //alone works
tranDAO.save(record2) //alone works

但是一起运行它们

tranDAO.save(record1)
tranDAO.save(record2)

HSQL 抛出 GenericJDBCException 错误。

@Entity
@Table(name = "ProdTransaction")
public class ProdTransactionextends PersistentObject implements Serializable {
private static final long serialVersionUID = 1L;

@Embedded
private ProdTranPK id;

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
@Column(name = "REC_ID")
private Long recId;

@Temporal(TemporalType.DATE)
private Date date1;

@Column(length = 1)
private String comment;
}

我已经验证了数据,一切正常。当我运行 HSQL 时,我得到:

GenericJDBCException: could not execute JDBC batch update.

但是如果我连接到我的物理数据库并以相同的顺序运行,它就可以正常工作。 HSQL 中可能存在什么问题?我使用的是1.8版本。

最佳答案

HSQLDB 批处理错误已修复,现在可以正常工作了。问题是,如果您遇到错误,例如 SQL 语句有问题等,您只会得到一个通用异常,而不会真正告诉您任何信息。我喜欢做的是有一个帮助器类,它可以在批处理模式下单独执行 SQL 查询,当我从批处理模式中收到奇怪的错误时,我会切换到单独的查询。尝试一下,也许这只是你的 SQL 中的一个简单错误

关于java - HSQL 中的 GenericJDBCException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7526729/

相关文章:

java - Wildfly 9 JMS 注入(inject)未发生

java - 如何使用正则表达式找到重叠的单词集?

java - 如何从action bean获取jsp中选定的值

java - 使用 FieldInterceptor 问题的 Hibernate OneToOne 延迟加载

java - 一对多双向关系在内存 HSQL DB 中不起作用

java - HSQLDB 与 Postgresql : type not found or user lacks privilege: BIGSERIAL

java - 同步集合上的同步->性能问题

Java/Hibernate 错误 : Connection leak detected. 内部连接池已达到最大大小,当前没有可用连接

java - 如何使用 Hibernate 通过 id 添加属性类?

java - 尝试多次调用 save 时违反完整性约束