1 回答

TA貢獻1875條經(jīng)驗 獲得超3個贊
查看此處的示例,您的 SeedStack JPA 配置缺少對數(shù)據(jù)源的引用:
????jpa: ?????units: ???????myUnit: ?????????datasource:?myDatasource ?????????properties: ???????????hibernate.dialect:?org.hibernate.dialect.PostgreSQLDialect ???????????hibernate.hbm2ddl.auto:?update
屬性的缺失或存在datasource
是使 SeedStack 在persistence.xml
基于配置或不基于配置之間進行選擇的原因(但這并不明顯)。
此外,“No spring entitymanager”異常讓我認(rèn)為您已經(jīng)配置了 SeedStack 讓 Spring 管理 JPA 事務(wù)(使用spring.manageJpa
配置屬性)。如果是這樣,則它與您的 SeedStack JPA 設(shè)置相矛盾。
在 SeedStack/Spring 批處理中,您可以選擇:
讓 SeedStack 管理 JPA。在這種情況下,您使用 SeedStack 配置 JPA 并僅在 SeedStack 管理的代碼(業(yè)務(wù)服務(wù)、存儲庫等)中使用 JPA(包括 @Transactional 注釋)。
讓 Spring 管理 JPA。在那種情況下,您使用 Spring 配置 JPA(沒有任何 SeedStack 配置)并設(shè)置
spring.manageJpa
為 true。這將允許 SeedStack 管理的代碼使用 Spring 配置的 JPA 事務(wù)管理器。
讓 Spring 管理 JPA 在 Spring 批處理作業(yè)期間提供更好的性能,因此我推薦第二個選項(但僅適用于批處理作業(yè))。
添加回答
舉報