gpt4 book ai didi

java - 使用 JPA 插入具有单列的连续表时出现 SQLGrammarException

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:16 25 4
gpt4 key购买 nike

我有一张表,上面写着Book,其中只有一个column(book_id)作为Serial。我正在使用 Informix 和 openejb 4.7.2。当我尝试在数据库中创建新条目时,出现错误

OpenEJB - EjbTransactionUtil.handleSystemException: org.hibernate.exception.SQLGrammarException: could not prepare statement
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not prepare statement
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387) ~[hibernate-entitymanager-4.2.19.Final.jar:4.2.19.Final]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310) ~[hibernate-entitymanager-4.2.19.Final.jar:4.2.19.Final]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1316) ~[hibernate-entitymanager-4.2.19.Final.jar:4.2.19.Final]
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:881) ~[hibernate-entitymanager-4.2.19.Final.jar:4.2.19.Final]
at org.apache.openejb.persistence.JtaEntityManager.persist(JtaEntityManager.java:149) ~[openejb-core-4.7.2.jar:4.7.2]

Book.java

@Entity
@Table(name = "book")
public class Book {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "book_id", nullable = false)
private short bookId;

public short getBookId() {
return bookId;
}

public void setBookId(short bookId) {
this.bookId = bookId;
}

}

public class DocumentTemplateDAO{
@Override
public Book create(Book entity) {
LOG.debug("Entity is created {} ", entity);
this.entityManager.persist(entity);
this.entityManager.flush();
return entity;
}
}

创建书籍的代码

Book book = new Book();
documentTemplateDAO.create(book);

将要执行的查询是

插入账面值(value) ( )

最佳答案

2个潜在的解决方案:

  • Informix SERIAL(如果这是您的图书 ID 在数据库中的位置)采用零来触发自动增量,它应该会影响 @GenerateValue(strategy = GenerationType.AUTO)。

  • IBM 为 Informix 开发了一种特定的 Hibernate 方言,您可以在那里下载:http://members.iiug.org/opensource/

抱歉,我现在没有更多信息,希望它能让您走上正轨。

关于java - 使用 JPA 插入具有单列的连续表时出现 SQLGrammarException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43247372/

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