KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have an entity class and a subclass based on that entity: @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public class A and @Entity public class B extends A I need to issue a native query that uses a stored procedure on the base class (A) only. If I attempt it as follows: entityManager.createNativeQuery("select * from A a where procedure(f)",A.class).getResultList() I get an error regarding "The column clazz_ was not found in the ResultSet". I assume that the JPA provider adds this column in order to discriminate between the base class and the extended class. I can work around this problem by explicitly adding the clazz column and all of the fields from the subclass: entityManager.createNativeQuery("select *,1 as clazz_,null as prop1,null as prop2 from A a where procedure(f)",A.class).getResultList() where "prop1" and "prop2" are properties of the subclass B. However, this seems like an unnecessary hack and is prone to maintenance problems if the subclass B changes. My question is: How can I query using a stored procedure on an entity that has inheritance defined on it?
Tags (comma-separated)
Save Edits
Cancel