[ https://issues.apache.org/jira/browse/OPENJPA-2534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14274318#comment-14274318 ]
Heath Thomann commented on OPENJPA-2534: ---------------------------------------- The issue described in this JIRA is fixed, as such I will close this JIRA. I should have done so sooner. Mark's idea's should be taken up in a different/new (but related?) JIRA. Sorry for not closing this sooner. Thanks, Heath > A boolean is not converted correct when using the hint 'UseLiteralInSQL'. > ------------------------------------------------------------------------- > > Key: OPENJPA-2534 > URL: https://issues.apache.org/jira/browse/OPENJPA-2534 > Project: OpenJPA > Issue Type: Bug > Components: sql > Affects Versions: 2.1.2, 2.2.1.1, 2.2.3, 2.3.1, 2.4.0 > Reporter: Heath Thomann > Assignee: Mark Struberg > Priority: Critical > Attachments: OPENJPA-2534.patch, OPENJPA-2534.patch > > > The hint, 'openjpa.hint.UseLiteralInSQL', is not properly converting a > boolean to an int. To illustrate this, lets take this entity: > public class MyEntity implements Serializable { > @Id > private Integer pk; > private boolean flag; > .......... > With this entity, lets take this test: > Query q = em.createQuery("SELECT f FROM MyEntity f WHERE f.flag = true"); > q.setHint("openjpa.hint.UseLiteralInSQL", "false"); //false is the default > q.getResultList(); > With this code, the following SQL will be generated: > SELECT t0.pk, t0.code, t0.code2, t0.flag FROM MyEntity t0 WHERE (t0.flag = ?) > [params=(int) 1] > Next, lets take this code: > Query q = em.createQuery("SELECT f FROM MyEntity f WHERE f.flag = true"); > q.setHint("openjpa.hint.UseLiteralInSQL", "true"); > q.getResultList(); > With this code, the following SQL will be generated: > SELECT t0.pk, t0.code, t0.code2, t0.flag FROM MyEntity t0 WHERE (t0.flag = > true) > However, in the latter case where UseLiteralInSQL=true, the following SQL > should be generated: > SELECT t0.pk, t0.code, t0.code2, t0.flag FROM MyEntity t0 WHERE (t0.flag = > '1') > Thanks, > Heath -- This message was sent by Atlassian JIRA (v6.3.4#6332)