1
テーブルがBook
で、column(book_id)
がSerial
と表示されています。 私はInformixとopenejb 4.7.2を使用しています。 私はDBに新しいエントリを作成しようとしていますとき、私はエラーにJPGを使用して単一列のテーブルをシリアルとして挿入する場合
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);
クエリを作成するためのコード実行されるのは
01ですの