1

Web からデータを取得して H2 DB に挿入するアプリケーションがあります。まれに、挿入される値が SQL 列のサイズよりも大きい場合があります。これらの場合、値の末尾を自動的にトリミングしたいと思います (少なくとも文字列の場合)。エンドユーザーに表示される情報値のみに関係するため、データの損失は気にしません。

情報:
- MySQL の場合、STRICT パラメーターを見つけました ( MySQL に送信された文字列の長さを自動的にトリミングします)。見つからなかった h2 に相当するパラメーターはありますか?
- 多くのフィールドに影響を与える可能性があるため、コード内の文字列の長さを確認する必要はありません。

システム:
- OS: win/osx/linux
- DB: h2 embedded 1.3.173 (最新にアップデート可能)

4

1 に答える 1

2

PreaparedStatement のラッパーを作成し、そこで長い文字列を切り捨てることができます

...

public void setString(int i, String str) {
    str = str.length() > max ? str.substring(0, max) : str;
    target.setString(str, i);
}
于 2013-11-15T09:54:45.040 に答える