Skip to Main Content

Oracle Database Express Edition (XE)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Hibernate return empty values on persisted null values

576227Dec 7 2012 — edited Dec 7 2012
Hi,

I have an Hibernate based DAO layer with lots of methods in there. The integration test suites work fine against MySql, H2 and HSQLDB but on Oracle I have to work around the fact the Hibernate returns null instead of empty "" for a non set value in the persistence store of Oracle.

I tried with specifying a not-null to true in the Hibernate mapping as in:
<property name="languageCode" type="string" not-null="true">
<column name="language_code" length="2" />
</property>
but it did not change anything and the issue remained.

The way I found to work laboriously around the issue is to explicitly set the values to empty if any are nulls.
public List<NavmenuLanguage> findWithNavmenu(Navmenu navmenu) {
String statement = "select id, version, language_code as languageCode from navmenu_language where navmenu_id = :navmenuId order by language_code nulls first";
Query query = getSession().createSQLQuery(statement)
.addScalar("id", StandardBasicTypes.INTEGER)
.addScalar("version", StandardBasicTypes.INTEGER)
.addScalar("languageCode");
query.setInteger("navmenuId", navmenu.getId());
List<NavmenuLanguage> navmenuLanguages = query.setResultTransformer(Transformers.aliasToBean(NavmenuLanguage.class)).list();
for (NavmenuLanguage navmenuLanguage : navmenuLanguages) {
if (navmenuLanguage.getLanguageCode() == null) {
navmenuLanguage.setLanguageCode(new String());
}
}
return navmenuLanguages;
}

Is there any way to tell Hibernate to return an empty value if a null value is present in the persistence store of Oracle ?

Kind Regards,

Edited by: user573224 on Dec 7, 2012 1:40 AM

Edited by: user573224 on Dec 7, 2012 1:41 AM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 4 2013
Added on Dec 7 2012
2 comments
4,353 views