Skip to content

Commit 38549a8

Browse files
committed
disable Hibernate archive scanning to resolve OOM
1 parent 1241277 commit 38549a8

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

src/main/java/com/phantoms/phantomsbackend/common/config/PrimaryDataSourceConfig.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
1515
import org.springframework.orm.jpa.JpaTransactionManager;
1616
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
17+
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
1718
import org.springframework.transaction.PlatformTransactionManager;
1819
import org.springframework.transaction.annotation.EnableTransactionManagement;
1920

@@ -124,9 +125,14 @@ public LocalContainerEntityManagerFactoryBean primaryEntityManagerFactory(
124125
em.setDataSource(dataSource);
125126
em.setPersistenceUnitName("primary");
126127
em.setJpaPropertyMap(properties);
127-
// 使用 setPackagesToScan 指定包路径,但 Hibernate 扫描已被禁用
128-
// 实体类由 @EnableJpaRepositories 和 @EntityScan 注解处理
129128
em.setPackagesToScan("com.phantoms.phantomsbackend.pojo.entity.primary");
129+
130+
// 必须设置 JpaVendorAdapter 指定持久化提供者
131+
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
132+
vendorAdapter.setDatabasePlatform("org.hibernate.dialect.PostgreSQLDialect");
133+
vendorAdapter.setShowSql(false);
134+
em.setJpaVendorAdapter(vendorAdapter);
135+
130136
return em;
131137
}
132138

src/main/java/com/phantoms/phantomsbackend/common/config/SecondaryDataSourceConfig.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
1414
import org.springframework.orm.jpa.JpaTransactionManager;
1515
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
16+
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
1617
import org.springframework.transaction.PlatformTransactionManager;
1718
import org.springframework.transaction.annotation.EnableTransactionManagement;
1819

@@ -121,6 +122,13 @@ public LocalContainerEntityManagerFactoryBean secondaryEntityManagerFactory(
121122
em.setPersistenceUnitName("secondary");
122123
em.setJpaPropertyMap(properties);
123124
em.setPackagesToScan("com.phantoms.phantomsbackend.pojo.entity.secondary");
125+
126+
// 必须设置 JpaVendorAdapter 指定持久化提供者
127+
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
128+
vendorAdapter.setDatabasePlatform("org.hibernate.dialect.MySQL8Dialect");
129+
vendorAdapter.setShowSql(false);
130+
em.setJpaVendorAdapter(vendorAdapter);
131+
124132
return em;
125133
}
126134

0 commit comments

Comments
 (0)