Thanks again John.  I'll include an example TestManagerBean.java below.  My 
persistence.xml is in my WAR file under /META-INF.

package com.example;

import com.example.account.Application;
import com.example.system.SystemPropertiesBean;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import javax.ejb.EJB;
import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.*;

@Stateless( name = "TestManager" )
@Local( TestManager.class )
@Remote( TestManagerRemote.class )
public class TestManagerBean implements TestManager {
    private static final Log logger = LogFactory.getLog(TestManagerBean.class);

    @EJB(beanName = "AnotherEJBManager")
    private AnotherEJBManager anotherEJBManager;

    @EJB(beanName = "SystemProperties")
    private SystemPropertiesBean systemProperties;

    @PersistenceContext(unitName = "ExampleEngine")
    private EntityManager entityManager;

    @PersistenceUnit(unitName = "ExampleEngine")
    private EntityManagerFactory entityManagerFactory;

    public String passItBack(String inOut) {
        logger.debug("TestManagerBean.inOut('" + inOut + "')");
        Application entity = entityManager.find(Application.class, 
"8f466445ab");
        logger.debug("Entity: " + entity);
        return anotherEJBManager.passItBack(inOut);
    }
}


On 2013-06-05, at 20:43, "John D. Ament" <[email protected]> wrote:

> Hmm yeah I missed that part.
> 
> So wait, is your persistence.xml in your war file somewhere? Where is it?
> How do you get a reference to your entity manager?
> 
> 
> On Wed, Jun 5, 2013 at 8:39 PM, Andrew Clarke <[email protected]> wrote:
> 
>> Yes I did, thanks.  I did mention that in the email, but I know there was
>> a lot in there.  This was the syntax of my persistence.xml when I tried
>> that:
>> 
>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"; xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
>> http://java.sun.com/xml/ns/persistence
>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"; version="1.0">
>>    <persistence-unit name="ExampleEngine">
>>        <provider>org.hibernate.ejb.HibernatePersistence</provider>
>>        <exclude-unlisted-classes>false</exclude-unlisted-classes>
>> 
>>        <properties>
>>            <property name="hibernate.show_sql" value="true"/>
>>            <property name="hibernate.format_sql" value="true"/>
>>            <property name="hibernate.hbm2ddl.auto" value="update"/>
>>        </properties>
>>    </persistence-unit>
>> </persistence>
>> 
>> - Andrew.
>> 
>> On 2013-06-05, at 20:30, John D. Ament <[email protected]> wrote:
>> 
>>> Andrew,
>>> 
>>> Did you try using the setting exclude-unlisted-classes, with the value of
>>> false?
>>> 
>>> John
>>> 
>>> 
>>> On Wed, Jun 5, 2013 at 8:27 PM, Andrew Clarke <[email protected]> wrote:
>>> 
>>>> I've set up my database in TomEE such that it works fine with SQL Query.
>>>> When I attempted to do a simple entityManager.find() as a JPA test, I
>> got
>>>> the following error:
>>>> java.lang.RuntimeException: org.apache.cxf.interceptor.Fault: The bean
>>>> encountered a non-application exception; nested exception is:
>>>>       java.lang.IllegalArgumentException: Unknown entity:
>>>> com.example.account.Application
>>>> I've gotten around this by adding
>>>> <class>com.example.account.Application</class> to my persistence.xml
>> file.
>>>> However, in JBoss everything Just Works thanks to annotations and I
>> don't
>>>> need to use XML to set up my entities at all.  On the one hand it's a
>> bit
>>>> of a bummer to add in all that XML but I can handle it if I have to.
>> I'm
>>>> experiencing some other issues though so I'm wondering if there's a
>> bigger
>>>> configuration problem that I should address.
>>>> 
>>>> I've also tried using
>>>> <exclude-unlisted-classes>false</exclude-unlisted-classes> and <property
>>>> name="hibernate.archive.autodetection" value="class" /> but neither of
>>>> these seems to have made a difference for me.
>>>> 
>>>> Because of the custom JNDI naming system in my code, and to keep things
>>>> simple, I've been slowly adding in files into
>> WEB-INF/classes/com/example.
>>>> I could package them into WEB-INF/lib/example.jar but then I think I'd
>>>> have to rewrite a LOT of JNDI naming, and my (limited) understanding is
>>>> that it's not necessary to package the classes into a JAR for any
>> reason.
>>>> 
>>>> Here are some of my other files:
>>>> 
>>>> persistence.xml:
>>>> 
>>>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"; xmlns:xsi="
>>>> http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
>>>> http://java.sun.com/xml/ns/persistence
>>>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd";
>> version="1.0">
>>>>   <persistence-unit name="ExampleEngine">
>>>>       <provider>org.hibernate.ejb.HibernatePersistence</provider>
>>>>       <class>com.example.account.Application</class>
>>>> 
>>>>       <properties>
>>>>           <property name="hibernate.show_sql" value="true"/>
>>>>           <property name="hibernate.format_sql" value="true"/>
>>>>           <property name="hibernate.hbm2ddl.auto" value="update"/>
>>>>       </properties>
>>>>   </persistence-unit>
>>>> </persistence>
>>>> 
>>>> 
>>>> tomee.xml:
>>>> 
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <tomee>
>>>>       <Resource id="example_db_prod" type="DataSource">
>>>>                       JdbcDriver  com.mysql.jdbc.Driver
>>>>                       JdbcUrl
>>>> jdbc:mysql://localhost:3306/example_db_prod?autoReconnect=true
>>>>                       UserName myusername
>>>>                       Password mypassword
>>>>                       validationQuery = SELECT 1
>>>>                       JtaManaged true
>>>>       </Resource>
>>>> </tomee>
>>>> 
>>>> Thank you very much for any help you can provide.  It's a very steep
>>>> learning curve trying to do this migration and I keep running into
>>>> roadblock after roadblock.
>>>> 
>>>> - Andrew.
>> 
>> 

Reply via email to