[問題] SpringORM的HibernateTransactionManager

看板java作者 (= =)時間3年前 (2020/12/29 16:14), 編輯推噓1(101)
留言2則, 2人參與, 3年前最新討論串1/1
※狀況概述:以下的程式是可以正常執行的,不過有些問題不是很懂: ※程式碼: <bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource"> <property name="dataSourceName" value="ds"/> <property name="URL" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="user" value="cuser"/> <property name="password" value="cuser"/> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="dataSource"><ref bean="dataSource"/></property> </bean> <tx:annotation-driven/> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" > <ref bean="sessionFactory" /> </property> </bean> ※錯誤訊息:無,可正常執行。 ※補充說明:就是sessionFactory必須同時吃到configLocation與dataSource這兩個屬性 才能正常執行,若是沒加入dataSource這個屬性就執行的話,會跳出 Error creating bean with name 'transactionManager' org.hibernate.service.UnknownUnwrapTypeException: Cannot unwrap to requested type [javax.sql.DataSource] 所以變成需要同時添加兩個類似的屬性才能work,可是這樣感覺code就變得很冗 畢竟configLocation與dataSource這兩個屬性的內容有重複 那請問還可以怎麼寫,才能讓code更精簡?? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.167.40.161 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1609229679.A.3E9.html

12/29 18:36, 3年前 , 1F
不用configLocation吧,有dataSource就夠了
12/29 18:36, 1F

12/30 07:16, 3年前 , 2F
要更精簡改用 Spring Boot 吧!
12/30 07:16, 2F
文章代碼(AID): #1VwkLlFf (java)
文章代碼(AID): #1VwkLlFf (java)