SQLCODE = -206,SQLSTATE = 42703,SQLERRMC = SEQNAME,DRIVER = 4.8.86

时间:2018-09-02 07:05:49

标签: hibernate jpa db2

我的代码中有异常。 我使用框架Spring,JPA,Hibernate

行家是:

<!-- DB2 Connection -->
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc4</artifactId>
        <version>10.5</version>
    </dependency>
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc4_license_cisuz</artifactId>
        <version>10.5</version>
    </dependency>
    <dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc4_license_cu</artifactId>
        <version>10.5</version>
    </dependency>

和:

@Entity
@Table( name="...", schema="..." )
public class Branch {
  @Id
  @Column(name = "O1001ID")
  private Long id;

  @Column(name = "O1001NAM")
  private String name;

  @Column(name = "O1001COD")
  private String code;

  // getter and setter

}

错误是

SQLCODE=-206, SQLSTATE=42703, SQLERRMC=SEQNAME, DRIVER=4.8.86

我想知道什么是SEQNAME?我在某处定义它了吗?

1 个答案:

答案 0 :(得分:0)

尝试添加

logging.level.org.springframework.web=INFO
logging.level.org.hibernate=INFO
logging.file=c:/temp/my-log/app.log

logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

在您的application.properties中,这将向您显示一些跟踪查询。

在JPA格式化您的查询之前,我遇到了这个问题,例如,如果您正在调用Repository.count();,则查询将被格式化为select count(u) From table u,这对于DB2来说是无效的格式,以解决这个问题必须将我自己的@Query定义为select count(*) From table u