我在 oracle 中有两个过程,它们以不同的方式定义参数,即使基础数据是相同的。在代码中,我们将其表示为整数。
procedure GetByNum(..., vRegionID in number, ...)
procedure GetByInt(...., vRegionID in integer, ...)
在 java 中,我们总是将字段定义为整数(在 db 中也是如此)
public Integer getRegionID() {
return 100;
}
有没有办法将这个(在java中)传递integer
给使用相同的两个程序OracleTypes.*
?我们使用自定义的基本包装器org.springframework.jdbc.object.StoredProcedure
来调用它们。目前不允许修改存储过程,所以剩下的就是修复java。
- 你能通过proc
getRegionID
吗?OracleTypes.NUMBER
getByInt
- 你能把它传递
OracleTypes.INTEGER
给getByNum
哪个期望in number
吗? - 另一种神奇的方式?
这可能看起来很简单,但我认为我不允许像这样破坏参数。我希望那不是真的!
编辑:
- 用于传递
OracleTypes.INTEGER
给procedure ... (param in number)
工作 - 不知道这是否只是特定于环境的
希望有一个明确的答案,这样我就可以让他们开始使用新的包装器,而不必担心无法预料的问题。