簡體   English   中英

使用 jOOQ 將字符串數組傳遞給 Oracle 查詢

[英]Pass String array to Oracle query using jOOQ

我正在使用 jOOQ 代碼生成器從 Oracle 包調用查詢。 查詢的參數之一是字符串數組。

第一個問題是代碼生成器使用Object作為參數的類型。 生成的文檔告訴我使用顯式Binding ,但沒有說明如何或在哪里。 我假設我必須在GenerationTool上配置一些東西。 我怎么做?

第二個問題,是傳遞什么實際值。 我試過String[]List<String> ,但都不起作用。 然后我最終編寫了自己的簡單類:

public class MyStringArray extends ArrayRecordImpl<String> {
  public MyStringArray() {
    super(MySchema.MY_SCHEMA, "ARR_STR", SQLDataType.VARCHAR(255));
  }
}

這有效,但感覺就像一個黑客。 我如何以“好”的方式做到這一點?

用戶定義類型發生這種情況的最常見原因是因為該類型與引用它的例程處於不同的模式中,或者使用<excludes>顯式<excludes> 在這兩種情況下,您都可以:

  • 按照 Javadoc 中的提示進行操作,並實現您自己的綁定
  • 更好:在代碼生成配置中包含引用的類型

生成的 Javadoc 可以改進,因為 jOOQ 知道該類型是用戶定義的類型並且它在生成輸出中丟失。 我創建了一個問題來改進這個: https : //github.com/jOOQ/jOOQ/issues/12630

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM