1

更新操作を試みる方法があります。

public boolean formVeriGuncelleSil(String sql) throws VeritabaniException {
        try {
            Session session = getSessionFactory().getCurrentSession();
            SQLQuery query = session.createSQLQuery(sql);
            query.executeUpdate();
            return true;
        } catch (RuntimeException e) {
            throw new VeritabaniException(e, VERIGUNCELLEMEEXCEPTION, "FID_01_02_01");
        }
    }

SQL 文字列

UPDATE K1FORM_LISTGRID3 SET TEXTAREA4='X', TEXTT5='ANAFORM',ANATABLO='1', OLUSTURAN_KULLANICI='184' WHERE ID=1

X が非常に長い文字列の場合、この例外があります。

org.hibernate.exception.SQLGrammarException: could not execute native bulk manipulation query

X が通常の文字列の場合、例外はありません。

X が長すぎる場合、X 文字列から例外が発生します。

検索しましたが、解決策が見つかりません。助けてください。

4

2 に答える 2

1

回避策は、 の長さを長く設定することTEXTAREA4です。

入力がファイルの内容である場合は、blob代わりに使用できます。String一括更新しようとすると、文字列などの境界はないと思います。

于 2013-04-30T08:54:13.110 に答える