Search code examples
oracle-databasehibernatespring-boothqljpql

Hibernate JPA issue doesnt apply IS-A Relationship of table at some times


I have a Parent Table A and extended Child tables B and C

ex:

public class A {
private Long id;
//getters setters//
}

public class B extends A{
 private String name;
//getters setters//
}

now at my repository,

public interface B extends JpaRepository<B, Long> {
@Query("select a from A a")//--This works
B getAll()

@Query("select a.id, b.name from A a join a.B b")//-- This doesn't
B getSpecificCols()
}

I need an explanation since "B is an A" that's why getAll() works how come getSpecificCols() isn't working?

Error is

java.lang.ClassCastException: java.lang.Long cannot be cast to <package>.B

BTW I'm using Hibernate Spring


Solution

  • After reading documentation what I needed all along was to put constructors in my entity/table where you put what specific parameters you need.