[ 
https://issues.apache.org/jira/browse/OPENJPA-486?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Patrick Linskey updated OPENJPA-486:
------------------------------------

    Description: 
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 abstract class.

  was:
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. 
 



> 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 abstract class.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to