In OpenJPA 2.0.1, I define a native query which returns the base class for a
group of inherited classes.
Query query = em.createNativeQuery("...", A.class);
The inherited classes are simple and have the form:
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="class_type",
discriminatorType=DiscriminatorType.INTEGER)
public abstract class A {
// Defines an ID and at least one persistent field.
}
class B extends A implements Serializable {
...
private String details;
public String getDetails() { return details; }
public void setDetails(String details) { this.details =
details; }
...
}
My expectation is that this query should return an instance of B with any new
fields resolved automatically (i.e. details should be non-NULL). Instead I am
getting an instance of B but with only the fields defined by A being
initialized! Am I crazy or is something broken?
-=- Jerry