0

HibernateTemplate を使用してオブジェクトを取得しますが、更新アクションが発生します。データを更新する必要がないため、データベースは読み取り専用です。

なぜそれが起こるのですか?私を助けてください..

私のコード:

  public <T> T get(Class<T> clasz, Serializable id) {
    return (T) getHibernateTemplate().get(clasz, id);

}

エラーメッセージは次のとおりです。

org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: Could not execute JDBC batch update; uncategorized SQLException for SQL [update kytv_resource_station set area=?, create_id=?, create_time=?, display=?, modify_id=?, modify_time=?, nature=?, partner=?, showDomain=?, status=?, tv_character=?, tv_desc=?, tv_elogo=?, tv_elogo_id=?, tv_keyword=?, tv_logo=?, tv_logo_id=?, tv_name=?, tv_order=?, tv_short_name=?, tv_show_name=?, tv_tvm_name=? where id=?]; SQL state [HY000]; error code [1290]; The MySQL server is running with the --read-only option so it cannot execute this statement; nested exception is java.sql.BatchUpdateException: The MySQL server is running with the --read-only option so it cannot execute this statement
        at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:124)
        at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:322)
        at org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424)
        at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410)
        at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
        at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
        at org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:522)
        at org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:516)
4

1 に答える 1

0

このクエリが原因で、プログラムにエラーがあります

  update kytv_resource_station set area=?, create_id=?, create_time=?, display=?, modify_id=?, modify_time=?, nature=?, partner=?, showDomain=?, status=?, tv_character=?, tv_desc=?, tv_elogo=?, tv_elogo_id=?, tv_keyword=?, tv_logo=?, tv_logo_id=?, tv_name=?, tv_order=?, tv_short_name=?, tv_show_name=?, tv_tvm_name=? where id=?

あなたのプログラムはMySql Error 1290を表示します.mysqlのドキュメントではそれは意味します

  The MySQL server is running with the %s option so it cannot execute this statement.

つまりOur database are read-only、なぜ更新操作を行うのですか。正しい答えが必要な場合は、編集の質問でコードを投稿してください。

于 2012-08-31T07:23:29.573 に答える