-
1. Re: EntityManager getMetamodel() getEntities() is empty with Persistence.createEntityManagerFactory()
maschmid Mar 11, 2013 3:20 PM (in response to jonathanmclarke)Seems to work for me if I add these to the persistence.xml:
<class>com.skeleton.model.TestTable</class> (before <properties>)
and
<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform" />
(and fill in the component.xml @ properties, such as JNDI names and such, tried with the Seam snapshot.
-
2. Re: EntityManager getMetamodel() getEntities() is empty with Persistence.createEntityManagerFactory()
jonathanmclarke Mar 11, 2013 3:27 PM (in response to maschmid)Hi Marek,
Thanks for this, but that's my point entirely. In 2.2.2.Final, during the generate-entities phase, I did not need to list the entity classes in the persistence.xml, so why is this needed now. All versions of Seam, all the way back in the early 2s, at least, did not need anything added to any configuration file. I just pressed a "generation" button and there was my application. Something looks as though it's been left out of the process.
Jonathan.
-
3. Re: EntityManager getMetamodel() getEntities() is empty with Persistence.createEntityManagerFactory()
maschmid Mar 11, 2013 3:42 PM (in response to jonathanmclarke)Seam has nothing to do with this. It's a matter of hibernate/AS7 integration. AFAIK, In AS7 it uses some internal hooks for the case when the entity manager is provided by the container, so when you do create it manually, you have to do the integration stuff yourself. EE containers are not required to support JPA bootsrapping APIs at all [1].
[1] From the JPA javadocs:
The
Persistence
class is available in a Java EE container environment as well; however, support for the Java SE bootstrapping APIs is not required in container environments.Perhaps you might try to raise this issue on the AS7 forum, they might at least provide some reasoning, as I am no Hibernate expert.
BTW. have you considered using EJB timers instead of Quartz? That way you may use proper EE APIs...
-
4. Re: EntityManager getMetamodel() getEntities() is empty with Persistence.createEntityManagerFactory()
jonathanmclarke Mar 11, 2013 3:55 PM (in response to maschmid)Ok, thanks for the information. As I'm sure you can understand, as a developer providing a service to clients, it's near impossible to go through all documentation for any given release. In the olden days, there was such a thing as backward compatibility, but I think this has gone out of the window these days, as each subversion renders the previous upgrade inoperable in some way. I think the coupling of a framework with a server has to hinge on developers being able to get on and build a product within that framework, and not fighting to figure what's changed within that framework each time. Either that or there's an update application that does it for you.
I would try the EJB timers as long as it's possible to dynamically spawn a number of jobs within a non-annotated part of my software. I keep the kernel pure Java without annotations, so that it can be migrated to other frameworks, if necessary. If I have to annotate some of my classes, then Quartz does the job for me just fine.
Thanks,
Jonathan.
-
5. Re: EntityManager getMetamodel() getEntities() is empty with Persistence.createEntityManagerFactory()
tiagowanke Sep 27, 2013 8:41 AM (in response to jonathanmclarke)Im having the same problem. Are u sure is a matter of hibernate/AS7 integration? I made a test removing Seam and using CDI with the same AS and hibernate and it works fine, withou having to declare my entities classes within persistence.xml.