openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniele Pirola (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OPENJPA-2488) select with fixed column doesn't run
Date Fri, 11 Apr 2014 13:05:19 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-2488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13966467#comment-13966467
] 

Daniele Pirola commented on OPENJPA-2488:
-----------------------------------------

I found a "dirty" workaround.
Mapping table Dual with the real column found in Oracle (named dummy) and then add this line
to force the insert of the table name in the query

criteria.orderBy(builder.asc(root.get(Dual_.dummy)));

the query builded is 
SELECT CURRENT_TIMESTAMP FROM Dual d ORDER BY d.dummy

not the optimal but it's work


> select with fixed column doesn't run
> ------------------------------------
>
>                 Key: OPENJPA-2488
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2488
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 2.2.2
>            Reporter: Daniele Pirola
>
> Suppose to have a mapped Entity named Dual and want to retrieve the sysdate from the
db.
> If you try this code:
> Timestamp ts;
> CriteriaBuilder builder = entityManager.getCriteriaBuilder();
> CriteriaQuery<Timestamp> criteria = builder.createQuery(Timestamp.class);
> criteria.select(builder.currentTimestamp());
> criteria.from(Dual.class);
> ts =entityManager.createQuery(criteria).setMaxResults(1).getSingleResult();
> openjpa build a query like this:
> SELECT CURRENT_TIMESTAMP FROM  WHERE ROWNUM <= ?
> without the table Dual specified.
> This is the Dual class but the error always happens with other real table:
> @Entity
> @Table(name = "DUAL")
> @Access(AccessType.FIELD)
> public class Dual implements Serializable {
>     @Id
>     @Column(name = "DATE_VALUE")
>     @Temporal(TemporalType.TIMESTAMP)
>     private Date date;
>     public Date getDate() {
>         return date;
>     }
>     public void setDate(Date date) {
>         this.date = date;
>     }
> }



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message