1. 程式人生 > >spring data jpa 出現Not a managed type

spring data jpa 出現Not a managed type

         這幾天看自己買的那本spring boot的書,學些spring boot,spring boot零配置還是挺好用的,當看到spring data jpa時,我想自己寫一下,spring data jpa 還是挺好用的,其中的那個寫jpa對應的dao層,只需要extends JpaRepository<實體, 實體對應的主鍵>,然後在介面上用@Query寫對應的hql語句,這點我覺得快趕上mybatis的靈活性了,在其他層注入的時候發現注入不進去,經自己一中午的查資料和實踐發現,spring data jpa 由於我用的是spring boot,所以我只說spring boot中的解決。需要在配置類的上面加上@EnableJpaRepositories(basePackages={"dao層對應的包路徑"}),這樣jpa的dao層就注入進來了。結果啟動spring boot 時發現,又有 Not a managed type: class ******的錯誤,經查詢發現少了jpa entity路徑的配置,在配置類的頭部加上標記:@EntityScan("entity對應的包路徑")。對於spring boot 使用jpa,需要在目錄下加上application.properties檔案,如果是maven專案在resource目錄下,裡面是jpa的一些資料的配置例如:下面是我的配置

spring.datasource.url = jdbc:mysql://IP:port/庫
spring.datasource.username = 使用者名稱
spring.datasource.password = 密碼
spring.datasource.driverClassName = com.mysql.jdbc.Driver
# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = true
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
#spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy


# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect