Is there a good example of using @EmbeddableSuperclass with an abstract parent class?
I am having problems accessing attributes from the parent class in my subclass.
Here is the code:
@EmbeddableSuperclass(access=AccessType.FIELD)
@Table(name="Item")
public abstract class AItem implements IItem{
@Id
int id;
@Column(name="name")
String name;
public abstract int getId();
public abstract void setId(int id);
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@Entity
@Table(name = "ITEM")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class ItemHSQL extends AItem implements Serializable
{
final String CLASS_NAME="ItemHSQL";
public ItemHSQL(){};
public ItemHSQL(String name, double value)
{
this.name=name;
this.value = value;
}
@Id(generate = GeneratorType.AUTO)
public int getId ()
{
return id;
}
}It works in my test suite.
note that redefining @Id on the subclass is not allowed.