查询时OpenJPA检查列长度

时间:2014-05-13 23:54:33

标签: java openjpa

实体类

@Id
@Column(length=3)
private String BankID;

DAO课程

String sSQL = "SELECT x FROM Bank x WHERE x.BankID =?1 ";
Query aQuery = m_aEntityManager.createQuery(sSQL);
aQuery.setParameter(1, sBankID);

如果我将'001'传递给sBankID,一切正常。
但是如果我将'0001'传递给sBankID,OpenJPA就会抛出PersistenceException:DB2 SQL错误:SQLCODE:-302,SQLSTATE:22001,SQLERRMC:null

无论如何只是设置OpenJPA关闭列lenth验证?(如果我不想修改任何eneity和dao源代码)

DB2 9,OpenJPA 1.2

非常感谢!

1 个答案:

答案 0 :(得分:0)

  

无论如何只是设置OpenJPA关闭列lenth   验证?(如果我不想修改任何eneity和dao源代码)...   DB2 SQL错误:SQLCODE:-302,SQLSTATE:22001,SQLERRMC:null

此异常来自DB2,而OpenJPA仅将此问题公开为PersistenceException。您将需要传入适当长度的数据以使异常消失...或修改表定义。