I am using JBoss 4.0.4-GA with Oracle XE. I have two tables which have strings
for their PK and the PK column is named the same as the table:
| CREATE TABLE CURRENCY
| (
| CURRENCY CHAR(8 CHAR) NOT NULL,
| ...
| )
|
| CREATE TABLE LANGUAGE
| (
| LANGUAGE CHAR(8 CHAR) NOT NULL,
| ...
| )
|
This is not ideal I know but it was what I was given to work with.
I find that when using the corresponding entity beans if I use the code:
entityManager.find(Language.class, "en");
this will return me a null value despite the row existing.
This is not a problem when using other entity manager functions A query like
entityManager.createQuery("from Language l").getResultList(); will run fine and
result all the expected results.
If I call the same code from a test case which is wrapped within a single
transaction, I can create an object, insert it and run the same code within the
transaction and find it OK.
Only when I am trying to find records already existing outside the transaction
do I get the problem.
With DEBUG I have checked the query that Hibernate runs and this runs fine in
Oracle but still returns a null to me within my session bean code.
| select language0_.LANGUAGE as LANG1_73_0_, language0_.NAME as NAME73_0_,
language0_.SHORT_NAME as SHORT3_73_0_, language0_.CREATED as CREATED73_0_,
language0_.INSERTED as INSERTED73_0_, language0_.MODIFIED as MODIFIED73_0_,
language0_.ENABLED as ENABLED73_0_, language0_.ENABLED_DATE as ENABLED8_73_0_,
language0_.COMMENTS as COMMENTS73_0_, language0_.TESTED as TESTED73_0_,
language0_.SUPPORTED as SUPPORTED73_0_, language0_.TESTED_DATE as
TESTED12_73_0_, language0_.SUPPORTED_DATE as SUPPORTED13_73_0_,
language0_.DEFAULT_TO_LANGUAGE as DEFAULT14_73_0_ from LANGUAGE language0_
where language0_.LANGUAGE='en';
|
I have tried several permutations of changing the table and PK column names but
to no avail. For example change the PK name I get this query
| select language0_.LANG_CODE as LANG1_73_0_, language0_.NAME as NAME73_0_,
language0_.SHORT_NAME as SHORT3_73_0_, language0_.CREATED as CREATED73_0_,
language0_.INSERTED as INSERTED73_0_, language0_.MODIFIED as MODIFIED73_0_,
language0_.ENABLED as ENABLED73_0_, language0_.ENABLED_DATE as ENABLED8_73_0_,
language0_.COMMENTS as COMMENTS73_0_, language0_.TESTED as TESTED73_0_,
language0_.SUPPORTED as SUPPORTED73_0_, language0_.TESTED_DATE as
TESTED12_73_0_, language0_.SUPPORTED_DATE as SUPPORTED13_73_0_,
language0_.DEFAULT_TO_LANGUAGE as DEFAULT14_73_0_ from LANGUAGE language0_
where language0_.LANG_CODE='en';
|
But the same result.
Is there something I am doing here that Hibernate doesn't expect or is there a
known bug?
Thanks,
Tom Boswell
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3972537#3972537
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3972537
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user