小编sam*_*gha的帖子

如何在spring项目中使用自定义anotation(hibernate)加密/解密数据

我正在为一个项目开发一些RESTFull Web服务.我使用Spring框架并使用gradle进行构建.问题是,我想在写入和读取数据时加密和解密数据表.我已经有了一个用AES等加密和解密数据的算法(类).我需要的是,如何注释这个方法来休眠实体类,我需要为这个类创建bean吗?

例如: -

@Column(columnDefinition= "LONGBLOB", name = "card_no")
        @ColumnTransformer(
                read="decrypt(card_no)",
                write="encrypt(?)")
        private String cardNo;
Run Code Online (Sandbox Code Playgroud)

像这样我想在这里添加我自己的加密/解密java方法.

java encryption hibernate jpa interceptor

6
推荐指数
2
解决办法
9800
查看次数

Spring项目中的多数据库连接问题

我将在一个spring项目中配置两个数据库连接。按照以下方式创建了两个数据源bean。

   @Bean(destroyMethod = "close")
        public BoneCPDataSource getDataSource() {

            ....
            ....
            return dataSource;
    }

    @Bean(destroyMethod = "close")
        public BoneCPDataSource getDataSource2() {

         ....
         ....

        return dataSource;
    }
Run Code Online (Sandbox Code Playgroud)

这就是我创建实体管理器的方式。

@Bean
@Qualifier("entityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
    ...
    em.setDataSource(getDataSource());
    em.setPersistenceUnitName("entityManagerFactory");
    ...

    return em;
}

@Bean
@Qualifier("entityManagerFactory2")
public LocalContainerEntityManagerFactoryBean entityManagerFactory2() {
    ...
    em.setDataSource(getDataSource2());
    em.setPersistenceUnitName("entityManagerFactory2");
    ...

    return em;
}
Run Code Online (Sandbox Code Playgroud)

然后,我自动连接到存储库实现类中的实体管理器上方,它对于非事务性数据也可以正常工作。

@PersistenceContext(unitName = "entityManagerFactory2")
@Qualifier(value = "entityManagerFactory2")
private EntityManager entityManager2;
Run Code Online (Sandbox Code Playgroud)

然后按照以下方式创建事务管理器。

@Bean
@Primary
public JpaTransactionManager getTransactionManager() {
    JpaTransactionManager transactionManager = new JpaTransactionManager();
    transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());

    return transactionManager;
}

@Bean(name = …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa transactions

2
推荐指数
1
解决办法
966
查看次数

标签 统计

hibernate ×2

java ×2

jpa ×2

encryption ×1

interceptor ×1

spring ×1

transactions ×1