簡體   English   中英

使用Hibernate / JPA設置密碼運行時

[英]Set password runtime with Hibernate / JPA

我有一個Web應用程序,在persistence.xml中定義了數據庫連接屬性。

我正在使用包含管理器持久性,並使用@PersistenceContext注入了實體管理器。

今天,數據庫的密碼在persistence.xml文件中,但是我寧願將其設置為運行時(向用戶詢問)。

我可以使用密碼運行時創建一個新的EntityManager,但是如何“覆蓋”已注入的EntityManager?

還有其他好的想法/方法嗎?

是的,這對於為不同環境配置配置文件有些擔心。

盡管它不能滿足密碼的“運行時”設置並替換對象,但仍將作為spring bean配置文件進行維護。

像這樣的東西;

@Configuration
@Profile("dev")
public class StandaloneDataConfig {

    @Bean
    public DataSource dataSource() {
        return new EmbeddedDatabaseBuilder()
            .setType(EmbeddedDatabaseType.HSQL)
            .addScript("classpath:com/bank/config/sql/schema.sql")
            .addScript("classpath:com/bank/config/sql/test-data.sql")
            .build();
    }

}

假設您要加載配置文件以進行生產?

您必須使用@Profile("production")定義另一個配置文件,然后從類路徑位置加載屬性文件。

使用Spring Boot,您可以將個人資料激活為

SPRING_PROFILES_ACTIVE=production mvn spring-boot:run

這可以使您更改密碼並在需要時彈回服務器。 無論如何,當您更改密碼時,連接都需要重新啟動。 因此,理想情況下,這應該使工作變得容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM