나는 Hibernate에서 새롭다.Hibernate HQL casting java.lang.ClassCastException : java.lang.Integer는 java.lang.Long으로 변환 될 수 없다.
내가 내가이 예외가
@Query(value = "update ToDo t set t.done= (abs(t.done -1)) where t.id=:id") public void toogleDone(@Param("id") long id);
부울 반전 할 때 :
는[2014-01-20 16:20:38] java.lang.ClassCastException:
하는 java.lang.Integer는 조직에서 java.lang.Long의 캐스팅 할 수 없습니다. hibernate.type.descriptor.java.LongTypeDescriptor.unwrap (LongTypeDescriptor.java:36) at org.hibernate.type.descriptor.sql.BigIntTypeDescriptor $ 1.doBind (BigIntTypeDescriptor.java:57) ...
,
난이 쿼리하려고하면
`@query (값 = "업데이트 할일 t 세트 t.done = (NOT t.done) t.id = 아이디")
public void toogleDone(@Param("id") long id);`
을
[2014년 1월 20일 16시 28분 58초] 예기치 AST 노드 :하지 [업데이트 org.teamdev.todo.model.domain.ToDo t의 설정 t.done = (NOT
난 예외가 t.done) where t.id = : id]
HQL에서 inverse boolean을 사용하는 사람이 있습니까?
시도 :'설정 t.done = (t.done == false)를' – acdcjunior
나도 그것을 시도했다, 난'예외를했다 예기치 않은 토큰 ='거짓 거짓 – Aventes
'='혼자 어때? 'set t.done = (t.done = false)'? 또는'set t.done = (t.done <1)'또는''set t.done = ((t.done + 0) <1 ''을 설정합니까? – acdcjunior