我目前的工作場所使用標準的Spring/Hibernate/JSP混合來通過XML向Flex客戶端提供內容。訪問數據的方式很多,但最流行的方式是通過對數據庫的直接SQL調用和手動轉換爲XML。Java/Hibernate:如何爲複雜的SQL編寫DAO代碼
麻煩的是,隨着應用程序越來越大,SQL變得越來越複雜,難以維護。就好像維護使用StringBuilders創建的SQL不夠困難,現在更糟糕的是,使用許多if語句和循環動態構建SQL。
我知道通常正確的方法是使用Hibernate查詢和實體獲取項目。但是,在我們的一些請求中,結果不能映射到單個Hibernate實體,我擔心需要使用直接SQL。
什麼是正確的方式去做這件事?有沒有辦法讓動態SQL查詢更清晰?有沒有辦法與Hibernate實體做到這一點?
我很抱歉這個問題的抽象性。我希望你仍然有很好的輸入;)
感謝您的意見!
我有點同意,儘管很多人不喜歡SQL中存儲的特效和邏輯。如果您有一個非常複雜的SQL查詢,那麼通過嘗試在代碼中執行操作或使用像HQL這樣的不太健壯的查詢語言,實在沒有辦法簡化它。 – 2010-01-26 22:58:38