Consider the following hierarchy, where entities WidgetA and WidgetB extend an abstract Widget superclass:
@Entity
@In
It seems you didn't specify a discriminator explicitly for your widget hierarchy. I think you can try to define it explicitly because Spring Data will manipulate bytecode to generate the queries, and so I suspect SpringData need to have those values explicitely defined.
Additionally in subclasses you need to indicate the discriminator value for each subclass.
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name="WIDGET_TYPE")
public abstract class Widget implements Serializable {
@Column(name="serialNumber", length=64, nullable=false, unique=true)
private String serialNumber;
...
-
@Entity
@DiscriminatorValue("A")
public class WidgetA extends Widget implements Serializable {
...
-
@Entity
@DiscriminatorValue("B")
public class WidgetB extends Widget implements Serializable {
...