2
的平等限制休眠空字符串擴展上 How does hibernate use an empty string for an equality restriction?爲PostgreSQL 8.3版本和Oracle 11g
我有一個關於如何檢查的Oracle 11g和PostgreSQL 之間的空字符串使用Hibernate限制
問題對於我的具體應用, PostgreSQL的節約使用2個單引號「」 空值,而Oracle保存空值NULL
的代碼來檢查是否爲空值的不就是
public void AssureNotEmpty() { ...
//For Oracle 11g
valueRestriction = Restrictions.isNotNull(propertyValueAlias);
//For PostgreSQL
valueRestriction = Restrictions.and(Restrictions.isNotNull(propertyValueAlias),
Restrictions.ne(propertyValueAlias, ""));
Restrictions.ne(propertyValueAlias,「」)在Oracle失敗當值不爲空,因爲它會被解釋爲值!= NULL(這將永遠是假的)的休眠使甲骨文解釋「」爲空值。
那麼我該如何使數據庫平臺不可知的功能(因爲現在我必須檢測哪個數據庫正在運行,PostgreSQL或Oracle)?
還是我完全誤解了一些東西?
好,謝謝傑克將不得不測試它:) – portoalet 2011-04-01 11:25:41