看板 java 關於我們 聯絡資訊
※狀況概述:以下的程式是可以正常執行的,不過有些問題不是很懂: ※程式碼: <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
ssccg: 不用configLocation吧,有dataSource就夠了 12/29 18:36
GGing: 要更精簡改用 Spring Boot 吧! 12/30 07:16