Persisting non-entity class that extends an entity (jpa) - example?
Posted
by
Michal Minicki
on Stack Overflow
See other posts from Stack Overflow
or by Michal Minicki
Published on 2010-02-22T17:36:58Z
Indexed on
2011/01/08
13:53 UTC
Read the original article
Hit count: 199
The JPA tutorial states that one can have a non-entity that extends entity class:
Entities may extend both entity and non-entity classes, and non-entity classes may extend entity classes. - http://java.sun.com/javaee/5/docs/tutorial/doc/bnbqa.html
Is it possible to persist such structure?
I want to do this:
@Entity
abstract class Test { ... }
class FirstConcreteTest extends Test { ... } // Non-ntity
class SecondConcreteTest extends Test { ... } // Non-entity
Test test = new FirstConcreteTest();
em.persist(test);
What I would like it to do is to persist all fields mapped on abstract Test to a common database table for all concrete classes (first and second), leaving all fields of first and second test class unpersisted (these can contain stuff like EJBs, jdbc pools, etc).
And a bonus question. Is it possible to persist abstract property too?
@Entity
abstract class Test {
@Column
@Access(AccessType.PROPERTY)
abstract public String getName();
}
class SecondConcreteTest extends Test {
public String getName() {
return "Second Concrete Test";
}
}
© Stack Overflow or respective owner