db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ramirez, Paul M (388J)" <paul.m.rami...@jpl.nasa.gov>
Subject Re: JPA 2.0 and Derby 10.6.1.1 ERROR XCL13
Date Wed, 26 May 2010 04:37:40 GMT
Hey Bryan,

Thanks for the tip. From the derby.log that got created I can see that the following is logged:

2010-05-26 04:23:06.228 GMT Thread[http-8080-1,5,main] (XID = 313), (SESSIONID = 4), (DATABASE
= RegistryDB), (DRDAID = null), Committing
2010-05-26 04:23:06.229 GMT Thread[http-8080-1,5,main] (XID = 313), (SESSIONID = 4), (DATABASE
= RegistryDB), (DRDAID = null), Rolling back
2010-05-26 04:23:06.229 GMT Thread[http-8080-1,5,main] (XID = 314), (SESSIONID = 5), (DATABASE
= RegistryDB), (DRDAID = null), Committing
2010-05-26 04:23:06.229 GMT Thread[http-8080-1,5,main] (XID = 314), (SESSIONID = 5), (DATABASE
= RegistryDB), (DRDAID = null), Committing
2010-05-26 04:23:06.394 GMT Thread[http-8080-1,5,main] (XID = 315), (SESSIONID = 5), (DATABASE
= RegistryDB), (DRDAID = null), Begin compiling prepared statement: select product0_.guid
as guid1_, product0_.home as home1_, product0_.description as descript3_1_, product0_.lid
as lid1_, product0_.name as name1_, product0_.objectType as objectType1_, product0_.status
as status1_, product0_.userVersion as userVers8_1_, product0_.version as version1_, product0_.contentVersion
as content10_1_, product0_.mimeType as mimeType1_ from Product product0_ where product0_.lid=?
and product0_.userVersion=? fetch first 2 rows only :End prepared statement
2010-05-26 04:23:06.412 GMT Thread[http-8080-1,5,main] (XID = 315), (SESSIONID = 5), (DATABASE
= RegistryDB), (DRDAID = null), End compiling prepared statement: select product0_.guid as
guid1_, product0_.home as home1_, product0_.description as descript3_1_, product0_.lid as
lid1_, product0_.name as name1_, product0_.objectType as objectType1_, product0_.status as
status1_, product0_.userVersion as userVers8_1_, product0_.version as version1_, product0_.contentVersion
as content10_1_, product0_.mimeType as mimeType1_ from Product product0_ where product0_.lid=?
and product0_.userVersion=? fetch first 2 rows only :End prepared statement
2010-05-26 04:23:06.424 GMT Thread[http-8080-1,5,main] (XID = 315), (SESSIONID = 5), (DATABASE
= RegistryDB), (DRDAID = null), Rolling back
2010-05-26 04:23:06.424 GMT Thread[http-8080-1,5,main] (XID = 315), (SESSIONID = 5), (DATABASE
= RegistryDB), (DRDAID = null), Committing
2010-05-26 04:23:06.425 GMT Thread[http-8080-1,5,main] (XID = 315), (SESSIONID = 5), (DATABASE
= RegistryDB), (DRDAID = null), Rolling back


This is query generated from:

@Transactional(readOnly = true)
public Product getProduct(String lid, String userVersion) {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Product> cq = cb.createQuery(Product.class);
Root<Product> productEntity = cq.from(Product.class);
Path<String> lidAttr = productEntity.get("lid");
Path<String> userVersionAttr = productEntity.get("userVersion");
cq.where(cb.and(cb.equal(lidAttr, lid), cb.equal(userVersionAttr, userVersion)));
TypedQuery<Product> query = entityManager.createQuery(cq);
Product product = query.getSingleResult();
return product;
}

I used a NamedQuery before that generated essentially the same thing and ended up with the
same error. It should only be setting 2 parameters but it looks the query is never executed
but rather just throwing an exception before getting executed. In addition, it seems as though
its trying to build the query twice even though there is only one call to the code. Any thoughts?

Thanks,
Paul

On May 25, 2010, at 7:31 PM, Bryan Pendleton wrote:


Now, to figure out what statement you are running, you can try running your
application with

  -Dderby.language.logStatementText=true

Then after running your application you should have a file named 'derby.log'
with a detailed description of each SQL statement that is issued, and the
error message (if any) that accompanies it.

thanks,

bryan


Mime
View raw message