Hi,
Have you tried to right-pad the value of SOR before setting it as a query
parameter? I once had a query with a parameter on a CHAR(X) column. The query
worked correctly from command line SQL client but when using JDBC I had to
right-pad the parameter to the length of X.
Regards,
Milosz
> I found the issue is with the SOR field in the named query.
> I tried different queries and found that is the one that did not work.
> Looks like the Oracle mapping is the following:
> CUST_ORG_ID VARCHAR2(50),
> OOID VARCHAR2(20),
> SOR CHAR(20),
>
> My JPA:
> @Column(name="SOR", length=20)
> private String sor;
>
> Is there a different way to Search on a CHAR field?
>
> Thanks
>
>
> jewettdiane wrote:
> >
> > I posted to the Spring forum, but have no responses yet.
> >
> > This is my spring config:
> > <bean id="entityManagerFactory"
> >
> > class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
> > <property name="jpaVendorAdapter">
> > <bean
> > class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter">
> > <property name="showSql" value="true" />
> > <property name="generateDdl" value="false" />
> > <property name="database" value="ORACLE" />
> > </bean>
> > </property>
> > <property name="persistenceUnit" ref="EI9DS" />
> > <property name="jpaPropertyMap">
> > <map>
> > <entry key="openjpa.Log" value="File=stdout,
> > DefaultLevel=TRACE,
> > SQL=TRACE" />
> > <entry key="openjpa.jdbc.DBDictionary"
> > value="oracle" />
> > <entry key="openjpa.TransactionMode"
> > value="managed" />
> > <entry key="openjpa.ConnectionFactoryMode"
> > value="managed" />
> > <entry key="openjpa.jdbc.TransactionIsolation"
> > value="read-committed"
> > />
> > <entry key="openjpa.ConnectionFactoryProperties"
> > value="PrettyPrint=true, PrettyPrintLineLength=72" />
> > </map>
> > </property>
> > <property name="jpaDialect">
> > <bean
> > class="org.springframework.orm.jpa.vendor.OpenJpaDialect" />
> > </property>
> > </bean>
> > <!--
> > Use websphere JTA transaction manager.
> > -->
> > <tx:jta-transaction-manager />
> >
> > <tx:advice id="txAdvice" transaction-manager="transactionManager">
> > <tx:attributes>
> > <tx:method name="get*" propagation="SUPPORTS"
> > read-only="true" />
> > <tx:method name="find*" propagation="SUPPORTS"
> > read-only="true" />
> > <tx:method name="*" propagation="REQUIRED"
> > read-only="false" />
> > </tx:attributes>
> > </tx:advice>
> >
> > <!--
> > Apply transaction advice to the DAO methods
> > -->
> > <aop:config>
> > <aop:pointcut id="daoMethods"
> > expression="execution(*
> > com.adp.ei9.common.dao.*DAO.*(..))" />
> > <aop:advisor advice-ref="txAdvice" pointcut-ref="daoMethods" />
> > </aop:config>
> >
> > <!-- DAOs -->
> > <bean id="baseDAO" class="com.adp.ei9.common.dao.BaseDaoImpl"
> > abstract="true">
> > <property name="entityManagerFactory"
> > ref="entityManagerFactory" />
> > </bean>
> >
> > <bean id="organizationDAO"
> > class="com.adp.ei9.common.dao.OrganizationDAOImpl"
> > parent="baseDAO" />
> >
> > And persistence:
> > <persistence-unit name="EI9DS" transaction-type="JTA">
> > <provider>
> > org.apache.openjpa.persistence.PersistenceProviderImpl
> > </provider>
> > <jta-data-source>jdbc/EI9DS</jta-data-source>
> > <non-jta-data-source>jdbc/EI9DS</non-jta-data-source>
> > <class>com.adp.ei9.common.entity.EntityBase</class>
> > <class>com.adp.ei9.common.entity.Employee</class>
> > <class>com.adp.ei9.common.entity.Employment</class>
> > <class>com.adp.ei9.common.entity.I9User</class>
> > <class>com.adp.ei9.common.entity.Organization</class>
> > <class>com.adp.ei9.common.entity.OrgType</class>
> > </persistence-unit>
> >
> > BaseDAO:
> > public abstract class BaseDAOImpl<T, PK extends Serializable> extends
> > JpaDaoSupport implements BaseDAO<T, PK> {
> >
> > private Class<T> type;
> >
> > @SuppressWarnings("unchecked")
> > public BaseDAOImpl() {
> > this.type = (Class<T>) ((ParameterizedType) getClass()
> >
> > .getGenericSuperclass()).getActualTypeArguments()[0];
> > }
> >
> > public Collection findByNamedQueryAndNamedParams(String queryName,
> > Map<String, Object> params) {
> > return
> > getJpaTemplate().findByNamedQueryAndNamedParams(queryName,
> > params);
> > }
> >
> > public Collection find(String query) {
> > return getJpaTemplate().find(query);
> > }
> >
> > Organization:
> > @NamedQueries({
> > @NamedQuery (
> > name = "Organization.findOrgByCustOrgId",
> > query = "SELECT o FROM Organization o WHERE o.custOrgId =
> > :custOrgId"
> > ),
> > @NamedQuery (
> > name = "Organization.findOrgByOoidSOR",
> > query = "SELECT new Organization(o.orgId, o.orgName) FROM
> > Organization o WHERE o.ooid = :ooid AND o.sor = :sor"
> > ),
> > @NamedQuery (
> > name = "Organization.findOrgByCustOoidSOR",
> > query = "SELECT new Organization(o.orgId, o.orgName) FROM
> > Organization o WHERE o.custOrgId = :custOrgId AND o.ooid = :ooid AND o.sor
> > = :sor"
> > )
> > })
> > @Entity
> > @Table( name="ORGANIZATION")
> > @SequenceGenerator(name="OrgSeq", sequenceName="SEQ_ORGANIZATION")
> > public class Organization extends EntityBase implements Serializable {
> >
> > @Basic
> > @Column(name="CUST_ORG_ID", length=50)
> > private String custOrgId;
> >
> > @Basic
> > @Column(name="OOID", length=20)
> > private String ooid;
> >
> > @Basic
> > @Column(name="SOR", length=20)
> > private String sor;
> > ......
> >
> > I could try and eliminate the jpaTemplate, but I was trying to get Spring
> > to work also.
> >
> > Thanks
> >
> >
> >
> > Kevin Sutter wrote:
> >>
> >> One other thing... Is the persistence.xml that you posted in the
> >> original
> >> e-mail complete? Specifically, I'm wondering whether you are using any
> >> of
> >> the caching capabilities within OpenJPA? I found a rather old posting on
> >> our forum [1] about using getJpaTemplate that returned "old" cached
> >> results
> >> instead of going to the database. The string of postings didn't look to
> >> be
> >> fully resolved. Just an idea to follow up on. Thanks.
> >>
> >> [1] http://n2.nabble.com/Cache-Problem-td1092833.html#a1094743
> >>
> >> On Wed, Jul 15, 2009 at 8:21 AM, Kevin Sutter <[email protected]> wrote:
> >>
> >>> Well, it's not really OpenJPA that turns this "find" back into a query.
> >>> It
> >>> looks like it's Spring's getJpaTemplate that does the translation.
> >>> Their
> >>> template is supposed to wrapper the provider (OpenJPA, Hibernate, etc).
> >>> It
> >>> looks like they are trying to provide another programming model layer on
> >>> top
> >>> of JPA. The translation of their "find" operation to Hibernate looks to
> >>> be
> >>> different from their translation to OpenJPA.
> >>>
> >>> I'd like to understand the differences since I'd like to have OpenJPA
> >>> work
> >>> with Spring. I just don't know enough about the getJpaTemplate to give
> >>> a
> >>> complete answer. Have you tried touching base with Spring to see if
> >>> they
> >>> have some ideas on how to resolve this? Or, maybe they are pointing
> >>> fingers
> >>> back at us? :-)
> >>>
> >>> Thanks,
> >>> Kevin
> >>>
> >>>
> >>> On Tue, Jul 14, 2009 at 3:35 PM, jewettdiane
> >>> <[email protected]>wrote:
> >>>
> >>>>
> >>>> The other thing I found is that the code:
> >>>>
> >>>> getJpaTemplate().find("SELECT new Organization(o.orgId, o.orgName) FROM
> >>>> Organization o where o.custOrgId='"+custOrgId+"' and o.ooid='"+ooid+"'
> >>>> and
> >>>> o.sor='"+sor+"'");
> >>>>
> >>>> Only works for hibernate. Looks like openjpa turns this find operation
> >>>> back
> >>>> to a sql
> >>>> with parameters.
> >>>>
> >>>> openjpa.Query - Executing query: SELECT new Organization(o.orgId,
> >>>> o.orgName)
> >>>> FROM Organization o where o.custOrgId='AR' and o.ooid='ABC123123' and
> >>>> o.sor='Enterprise'
> >>>> openjpa.jdbc.SQL - <t 175639160, conn 570761733> executing prepstmnt
> >>>> 574169657
> >>>> SELECT t0.ORG_ID, t0.ORG_NAME
> >>>> FROM ORGANIZATION t0
> >>>> WHERE (t0.CUST_ORG_ID = ? AND t0.OOID = ? AND t0.SOR = ?)
> >>>> [params=(String) AR, (String) ABC123123, (String) Enterprise]
> >>>>
> >>>>
> >>>>
> >>>> Kevin Sutter wrote:
> >>>> >
> >>>> > Ahhh... I don't remember you indicating that you were using
> >>>> Spring...
> >>>> > :-)
> >>>> > Using wrappers like getJpaTemplate() around the JPA invocations can
> >>>> > introduce some anomalies...
> >>>> >
> >>>> > I would still be interested in understanding the issue after you
> >>>> touch
> >>>> > base
> >>>> > with Spring. For the most part, getJpaTemplate should be a pass-thru
> >>>> type
> >>>> > wrapper, but they must be doing something unique in this case.
> >>>> >
> >>>> > Thanks,
> >>>> > Kevin
> >>>> >
> >>>> > On Tue, Jul 14, 2009 at 11:06 AM, jewettdiane <[email protected]>
> >>>> > wrote:
> >>>> >
> >>>> >>
> >>>> >> I find out more. It is not open jpa problem. It looks like
> >>>> jpatemplate.
> >>>> >>
> >>>> >> This works:
> >>>> >> getJpaTemplate().find("SELECT new Organization(o.orgId, o.orgName)
> >>>> FROM
> >>>> >> Organization o where o.custOrgId='"+custOrgId+"' and
> >>>> o.ooid='"+ooid+"'
> >>>> >> and
> >>>> >> o.sor='"+sor+"'");
> >>>> >>
> >>>> >> I was using:
> >>>> >> @NamedQuery (
> >>>> >> name = "Organization.findOrgByCustOoidSOR",
> >>>> >> query = "SELECT new Organization(o.orgId,
> >>>> o.orgName)
> >>>> >> FROM Organization
> >>>> >> o WHERE o.custOrgId = :custOrgId AND o.ooid = :ooid AND o.sor =
> >>>> :sor"
> >>>> >> )
> >>>> >>
> >>>> >> Map<String, Object> namedParams = new HashMap<String, Object>();
> >>>> >> namedParams.put("custOrgId", custOrgId.trim());
> >>>> >> namedParams.put("ooid", ooid.trim());
> >>>> >> namedParams.put("sor", sor.trim());
> >>>> >>
> >>>> >> getJpaTemplate().findByNamedQueryAndNamedParams(queryName,
> >>>> >> params);
> >>>> >>
> >>>> >> It must not be mapping the parameters correctly.
> >>>> >>
> >>>> >>
> >>>> >>
> >>>> >> Kevin Sutter wrote:
> >>>> >> >
> >>>> >> > Hmmm... Your find() operation is not quite the same as your
> >>>> query.
> >>>> >> > Besides
> >>>> >> > the obvious of using a single input parameter for the find and the
> >>>> >> three
> >>>> >> > input parameters for the query, the find operation is based off
> >>>> the
> >>>> >> ORG_ID
> >>>> >> > field and the query is not using that field at all. The query
> >>>> seems
> >>>> to
> >>>> >> be
> >>>> >> > using CUST_ORG_ID, ooid, and sor fields. So, I don't know if
> >>>> we're
> >>>> >> really
> >>>> >> > comparing apples to apples. But, then I don't know your schema
> >>>> and
> >>>> app
> >>>> >> > all
> >>>> >> > that well...
> >>>> >> >
> >>>> >> > In your first note, you claim that the generated SQL works in a
> >>>> command
> >>>> >> > prompt. You mention that you only have one database, but what
> >>>> about
> >>>> >> > multiple tables? I don't know Oracle all that well, but is there
> >>>> a
> >>>> >> chance
> >>>> >> > that you have multiple ORGANIZATION tables qualified by different
> >>>> >> schema
> >>>> >> > names? So, the command line access is going against one table and
> >>>> the
> >>>> >> > application is accidentally going against an empty table?
> >>>> >> >
> >>>> >> > But, then your find() probably wouldn't find anything, even with
> >>>> the
> >>>> >> > multiple id fields...
> >>>> >> >
> >>>> >> > I'm grabbing at straws. But, given what you've told us thus far,
> >>>> I
> >>>> >> can't
> >>>> >> > figure out how generated SQL would produce different results from
> >>>> >> within
> >>>> >> > JPA
> >>>> >> > vs a command line. Not sure if it will tell me anything of
> >>>> interest,
> >>>> >> but
> >>>> >> > could you provide your OpenJPA SQL trace file?
> >>>> >> >
> >>>> >> > Thanks,
> >>>> >> > Kevin
> >>>> >> >
> >>>> >> > On Mon, Jul 13, 2009 at 9:43 AM, jewettdiane
> >>>> <[email protected]>
> >>>> >> > wrote:
> >>>> >> >
> >>>> >> >>
> >>>> >> >> It finds the record if I just run
> >>>> getEntityManager().find(entityClass,
> >>>> >> >> id):
> >>>> >> >>
> >>>> >> >> SELECT t0.LST_UPDT_CD, t0.LST_UPDT_TMP, t0.LST_UPDT_USER_ID,
> >>>> >> >> t0.ADP_ACCOUNT_TYPE_CD, t0.BILLING_CYCLE_CD,
> >>>> >> >> t0.BILLING_FIRST_DT, t0.CONTRACT_SIGNED_DT,
> >>>> t0.CUST_ORG_ID,
> >>>> >> >> t0.DUNS_NBR, t0.fein, t0.INTEGRATION_HOST_SYS_ID,
> >>>> >> >> t0.INTEGRATION_TYPE_CD, t0.NAICS_CD,
> >>>> t0.NETSECURE_CLIENT_ID,
> >>>> >> >> t0.NETSECURE_STATUS, t0.ooid, t0.ORG_DBA_NAME,
> >>>> t0.ORG_NAME,
> >>>> >> >> t0.ORG_TYPE_ID, t0.ORG_URL, t0.EMPLOYER_ORG_ID,
> >>>> >> >> t0.PARENT_ORG_ID, t0.PAYROLL_VENDOR_CD,
> >>>> t0.SERVICES_BEGIN_DT,
> >>>> >> >> t0.SERVICES_END_DT, t0.SIC_CD, t0.sor
> >>>> >> >> FROM ORGANIZATION t0
> >>>> >> >> WHERE t0.ORG_ID = ?
> >>>> >> >> [params=(long) 2]
> >>>> >> >>
> >>>> >> >> I only have one database running.
> >>>> >> >> I am running in RAD 7 with a local Oracle database.
> >>>> >> >>
> >>>> >> >> Here is the code:
> >>>> >> >> @NamedQuery (
> >>>> >> >> name = "Organization.findOrgByCustOoidSOR",
> >>>> >> >> query = "SELECT o FROM Organization o WHERE
> >>>> >> >> o.custOrgId
> >>>> >> >> = :custOrgId
> >>>> >> >> AND o.ooid = :ooid AND o.sor = :sor"
> >>>> >> >> )
> >>>> >> >>
> >>>> >> >> public Organization findOrganizationByCustSOR(String custOrgId,
> >>>> >> >> String ooid, String sor) {
> >>>> >> >> Map<String, Object> namedParams = new
> >>>> HashMap<String,
> >>>> >> >> Object>();
> >>>> >> >> namedParams.put("custOrgId", custOrgId.trim());
> >>>> >> >> namedParams.put("ooid", ooid.trim());
> >>>> >> >> namedParams.put("sor", sor.trim());
> >>>> >> >> return
> >>>> >> >>
> >>>> >>
> >>>> findSingleByNamedQueryAndNamedParams("Organization.findOrgByCustOoidSOR",
> >>>> >> >> namedParams);
> >>>> >> >> }
> >>>> >> >>
> >>>> >> >>
> >>>> >> >> public T findSingleByNamedQueryAndNamedParams(String queryName,
> >>>> >> >> Map<String, Object> params) {
> >>>> >> >> Query query =
> >>>> >> >> getEntityManager().createNamedQuery(queryName);
> >>>> >> >> for (String param : params.keySet()) {
> >>>> >> >> Object obj = params.get(param);
> >>>> >> >> if (obj instanceof Date) {
> >>>> >> >> query.setParameter(param, (Date)
> >>>> obj,
> >>>> >> >> TemporalType.TIMESTAMP);
> >>>> >> >> } else {
> >>>> >> >> query.setParameter(param, obj);
> >>>> >> >> }
> >>>> >> >> }
> >>>> >> >> try {
> >>>> >> >>
> >>>> >> >> return (T) query.getSingleResult();
> >>>> >> >> } catch (NoResultException noResult) {
> >>>> >> >> LOGGER.warn("No Single Result");
> >>>> >> >> }
> >>>> >> >> return null;
> >>>> >> >> }
> >>>> >> >>
> >>>> >> >>
> >>>> >> >>
> >>>> >> >> Kevin Sutter wrote:
> >>>> >> >> >
> >>>> >> >> > Hate to state the obvious, but is it possible that your sql
> >>>> window
> >>>> >> is
> >>>> >> >> > accessing the same database instance as your jpa application
> >>>> >> >> (production
> >>>> >> >> > vs
> >>>> >> >> > test vs sandbox, etc)? Your persistence.xml doesn't have the
> >>>> url
> >>>> >> for
> >>>> >> >> the
> >>>> >> >> > database, so is it possible that your application configuration
> >>>> is
> >>>> >> >> going
> >>>> >> >> > to
> >>>> >> >> > a different instance?
> >>>> >> >> >
> >>>> >> >> > Sorry, but that's about the only reason that I can come up
> >>>> with.
> >>>> >> You
> >>>> >> >> have
> >>>> >> >> > sql trace turned on, so you should be able to see if any
> >>>> results
> >>>> are
> >>>> >> >> being
> >>>> >> >> > returned by jdbc. And, any results should be massaged into
> >>>> objects
> >>>> >> for
> >>>> >> >> > the
> >>>> >> >> > application.
> >>>> >> >> >
> >>>> >> >> > Kevin
> >>>> >> >> >
> >>>> >> >> > On Fri, Jul 10, 2009 at 2:29 PM, jewettdiane <
> >>>> [email protected]>
> >>>> >> >> > wrote:
> >>>> >> >> >
> >>>> >> >> >>
> >>>> >> >> >> I have a named query that produces the following sql:
> >>>> >> >> >> SELECT t0.ORG_ID, t0.LST_UPDT_CD, t0.LST_UPDT_TMP,
> >>>> >> >> t0.LST_UPDT_USER_ID,
> >>>> >> >> >> t0.ADP_ACCOUNT_TYPE_CD, t0.BILLING_CYCLE_CD,
> >>>> >> >> >> t0.BILLING_FIRST_DT, t0.CONTRACT_SIGNED_DT,
> >>>> t0.CUST_ORG_ID,
> >>>> >> >> >> t0.DUNS_NBR, t0.fein, t0.INTEGRATION_HOST_SYS_ID,
> >>>> >> >> >> t0.INTEGRATION_TYPE_CD, t0.NAICS_CD,
> >>>> t0.NETSECURE_CLIENT_ID,
> >>>> >> >> >> t0.NETSECURE_STATUS, t0.ooid, t0.ORG_DBA_NAME,
> >>>> t0.ORG_NAME,
> >>>> >> >> >> t0.ORG_TYPE_ID, t0.ORG_URL, t0.EMPLOYER_ORG_ID,
> >>>> >> >> >> t0.PARENT_ORG_ID, t0.PAYROLL_VENDOR_CD,
> >>>> >> t0.SERVICES_BEGIN_DT,
> >>>> >> >> >> t0.SERVICES_END_DT, t0.SIC_CD, t0.sor
> >>>> >> >> >> FROM ORGANIZATION t0
> >>>> >> >> >> WHERE (t0.CUST_ORG_ID = ? AND t0.ooid = ? AND t0.sor = ?)
> >>>> >> >> >> [params=(String) AR, (String) ABC123123, (String) Enterprise]
> >>>> >> >> >>
> >>>> >> >> >> When I paste this sql in my database sql window. I get a
> >>>> result
> >>>> but
> >>>> >> >> when
> >>>> >> >> >> I
> >>>> >> >> >> run it on my server it returns a NoResultException.
> >>>> >> >> >>
> >>>> >> >> >> My persistence.xml:
> >>>> >> >> >> <persistence-unit name="EI9DS"
> >>>> transaction-type="RESOURCE_LOCAL">
> >>>> >> >> >> <provider>
> >>>> >> >> >> org.apache.openjpa.persistence.PersistenceProviderImpl
> >>>> >> >> >> </provider>
> >>>> >> >> >>
> >>>> >> >> >>
> >>>> <class>com.adp.ei9.common.entity.EntityBase</class>
> >>>> >> >> >>
> >>>> <class>com.adp.ei9.common.entity.Employee</class>
> >>>> >> >> >>
> >>>> <class>com.adp.ei9.common.entity.Employment</class>
> >>>> >> >> >> <class>com.adp.ei9.common.entity.I9User</class>
> >>>> >> >> >>
> >>>> >> <class>com.adp.ei9.common.entity.Organization</class>
> >>>> >> >> >>
> >>>> <class>com.adp.ei9.common.entity.OrgType</class>
> >>>> >> >> >> <properties>
> >>>> >> >> >> <property
> >>>> name="openjpa.TransactionMode"
> >>>> >> >> >> value="managed" />
> >>>> >> >> >> <property
> >>>> >> name="openjpa.ConnectionFactoryMode"
> >>>> >> >> >> value="managed" />
> >>>> >> >> >> <property name="openjpa.Log"
> >>>> >> >> >> value="File=stdout,
> >>>> >> DefaultLevel=TRACE,
> >>>> >> >> >> SQL=TRACE" />
> >>>> >> >> >> <property
> >>>> name="openjpa.jdbc.DBDictionary"
> >>>> >> >> >>
> >>>> >> >> >> value="org.apache.openjpa.jdbc.sql.OracleDictionary" />
> >>>> >> >> >> <property name="openjpa.ConnectionFactoryProperties"
> >>>> >> >> >> value="PrettyPrint=true, PrettyPrintLineLength=72" />
> >>>> >> >> >> </properties>
> >>>> >> >> >> </persistence-unit>
> >>>> >> >> >>
> >>>> >> >> >> What else should I try? It creates good sql that works. Is
> >>>> there
> >>>> a
> >>>> >> >> reason
> >>>> >> >> >> objects won't return when the sql works?
> >>>> >> >> >>
> >>>> >> >> >> Thanks
> >>>> >> >> >> --
> >>>> >> >> >> View this message in context:
> >>>> >> >> >>
> >>>> >> >>
> >>>> >>
> >>>> http://n2.nabble.com/Named-Query-fails-but-SQL-works-tp3237379p3237379.html
> >>>> >> >> >> Sent from the OpenJPA Users mailing list archive at
> >>>> Nabble.com.
> >>>> >> >> >>
> >>>> >> >> >
> >>>> >> >> >
> >>>> >> >>
> >>>> >> >> --
> >>>> >> >> View this message in context:
> >>>> >> >>
> >>>> >>
> >>>> http://n2.nabble.com/Named-Query-fails-but-SQL-works-tp3237379p3250844.html
> >>>> >> >> Sent from the OpenJPA Users mailing list archive at Nabble.com.
> >>>> >> >>
> >>>> >> >
> >>>> >> >
> >>>> >>
> >>>> >> --
> >>>> >> View this message in context:
> >>>> >>
> >>>> http://n2.nabble.com/Named-Query-fails-but-SQL-works-tp3237379p3257702.html
> >>>> >> Sent from the OpenJPA Users mailing list archive at Nabble.com.
> >>>> >>
> >>>> >
> >>>> >
> >>>>
> >>>> --
> >>>> View this message in context:
> >>>> http://n2.nabble.com/Named-Query-fails-but-SQL-works-tp3237379p3259236.html
> >>>> Sent from the OpenJPA Users mailing list archive at Nabble.com.
> >>>>
> >>>
> >>>
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://n2.nabble.com/Named-Query-fails-but-SQL-works-tp3237379p3268356.html
> Sent from the OpenJPA Users mailing list archive at Nabble.com.