sql >> データベース >  >> RDS >> Mysql

JOOQを使用してテーブルから列挙型クラスを生成する

    もちろん、削除した機能をいくつかの手順で自分の側に再実装できます。

    1。その列挙型のジェネレータを実装する

    JavaGeneratorをオーバーライドする必要があります マスターデータ(複数のテーブルの場合があります)を列挙型に変換するためのコード生成を実装します。それがどのように機能するかは完全にあなた次第です。あなたが持つことができる:

    • 単一列のマスターデータテーブル
    • ID/VALUEマッピングテーブル
    • ID /VALUE/コメントマッピングテーブル
    • その他のレイアウト

    2。 ForcedTypeを生成します それらの列挙型の構成

    このようなマスターデータテーブルが参照される場合は常に、<forcedType/>を使用して外部キー列をその列挙型に再配線する必要があります。 構成。 これは、コード生成をプログラムで構成することによって行うのが最適です> 、これにより、jOOQコード生成構成をより動的に制御できるようになります。

    この手順は、BillO'Neilの回答に詳しく記載されています

    3。マスターデータテーブルの生成を防止する

    上記に加えて、生成された出力からマスターデータテーブル自体を削除する必要があります。あなたの場合、これは構成になります:

    <excludes>YNM</excludes>
    

    または、複数のマスターデータテーブルがある場合:

    <excludes>YNM|OTHER_MASTER_DATA_TABLE|...</excludes>
    

    これらのテーブルを除外すると、jOOQクライアントコードからのアクセスが防止されるだけでなく、生成されたコード内の外部キー情報が削除され、混乱を招く可能性があります。



    1. MySQLでCoalesceを使用する方法

    2. 動的LIMITを使用してSQLクエリを作成する方法

    3. MySQLクエリが返した行数をカウントするにはどうすればよいですか?

    4. ApacheSparkの主キー