java - Spring Data JPA ClassCastException: Integer cannot be cast to Long -


in spring data application ran similar problem described here classcastexception: integer cannot cast long, while trying iterate on entity ids

this entity:

@table(name = "users") public class user extends baseentity implements serializable {      private static final long serialversionuid = 5088960286161030648l;      @id     @sequencegenerator(name = "users_id_seq", sequencename = "users_id_seq", allocationsize = 1)     @generatedvalue(strategy = generationtype.auto, generator = "users_id_seq")     private long id; ... } 

and spring data repository method:

@query(value = "select u.user_id users u u.game_id =:gameid", nativequery = true) list<long> getgameids(@param("gameid") long gameid); 

which going return list of long type after execution returns list of integer , application fails

java.lang.classcastexception: java.lang.integer cannot cast java.lang.long

how tell spring data or jpa return list of long(not integer) in result list ?

i don't want cast values(integer long) in run-time.

also, main criterion of application performance idea switch ids long integer in entities ? practice use integer instead of long in jpa entity id ?

updated

i use postgresql

in case of:

user_id integer i'm receiving - java.lang.classcastexception: java.lang.integer cannot cast java.lang.long

user_id bigint i'm receiving - java.lang.classcastexception: java.math.biginteger cannot cast java.lang.long

problem when using native query long class doesn't corellate database type — getlong doesn't work there. should 1 of following

  1. change type in db , in app biginteger (if integer not enough needs)
  2. change type in db , in app integer (if it's enough needs)
  3. remove nqtivequery attribute , use clear jpql.

Comments

Popular posts from this blog

javascript - Laravel datatable invalid JSON response -

java - Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; -

sql server 2008 - My Sql Code Get An Error Of Msg 245, Level 16, State 1, Line 1 Conversion failed when converting the varchar value '8:45 AM' to data type int -