OpenJPAEntityManager.createInstance(Class<T> cls) fails when T is an abstract
class
-----------------------------------------------------------------------------------
Key: OPENJPA-486
URL: https://issues.apache.org/jira/browse/OPENJPA-486
Project: OpenJPA
Issue Type: New Feature
Components: jpa
Reporter: Pinaki Poddar
Fix For: 1.1.0
According to JavaDoc, OpenJPAEntityManager.createInstance() method
public <T> T createInstance(Class<T> cls);
behaves as follows:
"Create a new instance of type <code>cls</code>. If <code>cls</code> is
an interface or an abstract class whose abstract methods follow the
JavaBeans convention, this method will create a concrete implementation
according to the metadata that defines the class"
The method fails when T is an interface. The failure may be due to incorrect
user configuration, however, further
information on this extension method is not available in OpenJPA documentation.
Firstly, how to specify metadata for a interface that has bean-style methods?
Possibilities are:
a) Annotating the Java interface definition with @Entity
b) Specifying in <class>org.acme.IPerson</class> in persistence.xml
Either of the above fails. a) fails at parsing b) fails with "no metadata"
There may be a correct but undocumented way of specifying a managed interface.
If that is the case, then this JIRA report should be treated as a documentation
bug.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.