That seems reasonable enough. Unfortunately, the JPQL query specification disallows anything but aggregate or state field expressions in "SELECT NEW" clauses.

It might be useful as a future extension to OpenJPA, though. Can you file an enhancement request at OPENJPA ?

On Jan 10, 2007, at 2:39 AM, wanyna wrote:

There are two tables A and B, I need to execute sql like
"insert into A select ... from B".
I use JPQL Constructor Expressions,
select new A(...) from B, got A list then persist.
But some data of A depends on program context, not from B, for simple
select new A(B.column1, 'xxx') from B,
select new A(null, B.column2) from B,
select new A(variable, B.column2) from B

I have to get the result object[] list and constuct A in my code now.
I hope JPQL Constructor Expressions became more powerful, my code will be
more simple then.

Marc Prud wrote:

On Jan 10, 2007, at 12:12 AM, wanyna wrote:

Hi all.
I have two questions:
Here is my sql string:
select 'xxx', TABLE_A.column1 from TABLE_A;
there is a string 'xxx' as a constant value,
how to translate it to JPQL?

I don't think it is possible. Why would you need to do that?

Another sql used under oracle:
select TABLE_A.column1 from TABLE_A where rownum<10;
how to limit range of result in JPQL or jpa?

Query q = em.createQuery("select ...");
List results = q.getResultList();

-- View this message in context:
Sent from the open-jpa-dev mailing list archive at

View this message in context: in-JPQL-tf2951160.html#a8255355
Sent from the open-jpa-dev mailing list archive at

Reply via email to