我正在使用postgresql
,我的一個列的類型爲json
。更新json類型的列值失敗,出現異常
我正在使用REST API,我得到的響應是一個json字符串,我將其存儲在那個json
列中。
使用Hibernate,我無法對此列進行更新。
注意:我使用google Gson
使它成爲一個JSON並將其存儲到數據庫。
例子:
Gson gson = new Gson();
myBean.setJsonData(gson.toJson(response));
myHomeDao.attachDirty(myBean); //Error Here
LOG:
Caused by: org.postgresql.util.PSQLException: ERROR: column json_data" is of type json but expression is of type bytea
Hint: You will need to rewrite or cast the expression.
Position: 247
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:419)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:365)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208)
... 16 more
發佈myHomeDao.attachDirty代碼請 – 2015-04-01 13:17:49
這是自動生成的hibernate代碼生成過程,並且對其他列工作正常。代碼 - 'Transaction trans = sessionFactory.getCurrentSession()。beginTransaction(); \t \t \t sessionFactory.getCurrentSession()。saveOrUpdate(instance); \t \t \t \t trans.commit();' – 2015-04-01 13:20:55