Моей проблема заключается в том, что у меня есть весна модельИспользуйте абстрактный класс для переменного экземпляра в Spring
@Entity
public class PetOwner {
@ManyToOne
@JoinColumn(name = "pet_id", nullable = true)
private Pet pet;
с домашним животным является абстрактным классом с 2 подклассов для собак и кошек.
@Entity
@Inheritance(strategy= InheritanceType.JOINED)
public abstract class Pet {
@OneToMany(fetch = FetchType.LAZY)
protected Set<PetOwner> owners;
}
@Entity
public class Cat extends Pet
@Entity
public class Dog extends Pet
Когда я создать новую PetOwner в Struts-форме и попытаться связать его питомец любой собакой или объект Cat, я получаю ошибку на подачу вида:
Error creating bean with name 'de.model.Pet': Instantiation of bean failed;
nested exception is org.springframework.beans.BeanInstantiationException:
Could not instantiate bean class [de.model.Pet]: Is it an abstract class?;
nested exception is java.lang.InstantiationException
Как может Я говорю Spring, чтобы инициализировать de.model.Dog или de.model.Cat на основе класса pet-объекта?
FYI: У меня есть PetDAO и PetService, но я не уверен, влияют ли они на эту проблему.
Я ценю каждую помощь!
* Моя проблема в том, что у меня есть модель весны *. Но я не вижу, как здесь участвует Весна. –
Может ли это помочь вам http://stackoverflow.com/questions/8119678/jpa-entity-inheritance-with-abstract-classes-constrainviolationexception – Aeseir