3

名前付きクエリを使用したドメイン クラスがあります。

class Atendimento implements Serializable {
    ...
    Funcionario funcionario

    static mapping = {
        ...
        funcionario column: 'FUNCODIGO', sqlType: 'int'
    }

    static namedQueries = {
         atendimentosPorData { data ->
             data.clearTime();
             eq('dataHora', data)
             isNotNull('funcionario')
         }
    }
}

FK 制約のないレガシー データベースで実行されるアプリケーション。問題: いくつかの "壊れた" 関係があり、いくつかの "Atendimento" はデータベースに FUNCODIGO を持っていますが、この識別子を持つ "Funcionario" はありません。問題なくクエリできますが、これをビューに送信すると、次のようになります

${fieldValue(bean: atendimentoInstance, field: "funcionario")}

grails が ID: xxxxx の "Funcionario" を見つけられなかったというエラーが表示されました。
列にデータがあるため、条件のisNotNUllは機能しませんが、結合を解決しようとすると失敗します。

「問題のある」列の結合を防ぐ方法はありますか。

4

1 に答える 1