名前付きクエリを使用したドメイン クラスがあります。
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は機能しませんが、結合を解決しようとすると失敗します。
「問題のある」列の結合を防ぐ方法はありますか。