处理不同版本的Hibernate libs

处理不同版本的Hibernate libs,hibernate,spring,maven,password-encryption,jasypt,Hibernate,Spring,Maven,Password Encryption,Jasypt,我有一个使用名为EXAMPLE的数据库的现有应用程序,它使用一种旧版本的hibernate 用户密码存储为org.jasypt.hibernate.type.EncryptedStringType <typedef name="encryptedString" class="org.jasypt.hibernate.type.EncryptedStringType"> <param name="encryptorRegisteredName">jasyptHibe

我有一个使用名为EXAMPLE的数据库的现有应用程序,它使用一种旧版本的hibernate

用户密码存储为org.jasypt.hibernate.type.EncryptedStringType

<typedef name="encryptedString" class="org.jasypt.hibernate.type.EncryptedStringType">
    <param name="encryptorRegisteredName">jasyptHibernateEncryptor</param>
</typedef>

    <property name="password" type="encryptedString">
        <column name="pwd" length="254" not-null="true" />
    </property>

茉莉花
我不知道它是否总是这样,但基本上,当查询用户时,它会自动解密他们的密码,所以它是明文的

现在,在同一个数据库上,有一个新的web应用程序正在运行(称为webapp2)。这一个加密密码不同,以一种不可加密的方式

我被要求做的是将老用户迁移到“新方式”,我做的是创建一个包含3个模块的maven项目:

  • 模块1(又名oldie)应该只能够在 旧方法(这样对于用户表上的每个查询,我都可以 用户密码(明文)
  • module2(又称newie)应该以新的方式查询数据库
  • 模块3应该有一个虚拟类(目前它是junit类) 它使用模块1中的UserService和模块2中的UserService 分别为读取用户密码(明文)并将其设置回 新方法
问题是: 我所面临的是module3必须处理不同版本的hibernate libs的许多问题

在我配置的模块3(它们都是spring应用程序)中,来自模块1和模块2的自动布线服务和DAO造成了很多混乱,最终导致了麻烦

似乎正在发生的事情是,存在混合的依赖关系,使得sessionFactories或dao的实例化(目前)不可能


任何帮助都将不胜感激。

我不会尝试同时使用两个版本的Hibernate。你可以

  • 在一个小的实用程序类中提取加密/解密部分,只需使用JDBC使用旧方法进行解密,然后使用新方法进行加密
  • 或者,只需对第一个模块运行第一个过程,以明文形式提取所有密码并将其放入文件或专用数据库表中,然后对第二个模块运行第二个过程,以提取明文密码并将其存储在实体中,以使用新方法对其进行加密

如果您有自由,请支持您的意见。