私はDAOでクエリをN回実行するループを持っています。私の場合、値が「123456789」のプロパティを持つオブジェクトがあります。最初のターンでは、特定のテーブルに対するクエリを実行して、C1
という列を持つすべてのレコードを取得し、 "123456789"に等しくします。SQLの最長プレフィックス文字列
2番目のターンでは、この同じテーブルのクエリを実行して、列がC1
で "12345678"に等しいすべてのレコードを取得します。最長のプレフィックスを持つレコードが見つかるまで続きます。
私は、このクエリを複数回実行するのではなく、パラメータとして文字列 "123456789"をとり、 "123456789"の最長接頭語である列C1
を持つレコードを返します"しかし、私はHibernate(可能であれば)を使ってそれを行う方法、または別の解決方法があるかどうかわかりません。私はMySQLを使用しています。
(私はこのpost見てきたが、私は休止状態であることを行う方法があるかどうかを知りたいと思いました。)
答えをいただきありがとうございます。しかし、私は二つの質問があります:まず、concat()と||の使用の違いは何ですか?また、このHQL文は、異なるDBMS間で移植可能ですか? –
私が知る限り、||これは、それぞれのデータベースに独自の機能で変換されることを意味します。 concatは通過し、特定のデータベースで動作します。 –