この質問のフォローアップとして質問しています。私はまったく同じことをしていますが、機能しません。つまり、抽象クラスをインスタンス化しようとしていることを示す例外が引き続き発生します。
org.springframework.orm.jpa.JpaSystemException: org.hibernate.InstantiationException: 抽象クラスまたはインターフェースをインスタンス化できません
唯一の違いは、自分のクラスを Serializable インターフェースを実装するように設定していないことですが、おそらくそれが理由ではないと考えたので、Spring と Hibernate のバージョンを疑っています。
したがって、基本的に抽象クラスは次のようになります。
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name="activities")
@DiscriminatorColumn(name="type", discriminatorType=DiscriminatorType.STRING)
public abstract class Activity
{
@Id
@Column(length=Fields.ID_FIELD_SIZE)
protected String id;
....
および 2 つのサブクラス
@Entity
@Table(name="a_activities")
@DiscriminatorValue("A")
public class AActivity extends Activity
{
...
と
@Entity
@Table(name="b_activities")
@DiscriminatorValue("B")
public class BActivity extends Activity
{
...
ActivityRepository を使用して ID でアクティビティを取得すると、前述の例外が発生します。
@Qualifier("activity-repository")
public interface ActivityRepository extends JpaRepository<Activity, String>
{
}
Spring Data 1.2.0 と Hibernate 4.1.7 を使用しています。
別の質問として申し訳ありませんが、元の質問にはコメントできませんでした