我的代码中有异常。 我使用框架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?我在某处定义它了吗?
答案 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
。