0

我正在将 JPA 与 Guice、Jasypt 和 GWT+Jetty 服务器一起使用,

我正在尝试为加密列创建自定义类型。

我已经创建了 package-info.java 我有自定义类型。package-info.java 位于具有持久性类的包中。

在持久性类中,我对特定加密的列进行了注释。

当我在开发模式下启动码头时,出现以下错误:

javax.persistence.PersistenceException:[PersistenceUnit:persistenceUnit] 无法在 org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889) 的 org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914) 处构建 EntityManagerFactory(Ejb3Configuration.java:914) org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)

……

引起:org.hibernate.MappingException:无法确定类型:encryptedDateAsString,在表:员工,列:[org.hibernate.mapping.Column(encrypted_birth_date)]

我做错了什么?

谢谢

4

1 回答 1

0

可能是您@TypeDef的实体中缺少encryptedDateAsString您正在使用的类型的声明吗?

例如:

@Entity
@TypeDef {
  name = "encryptedDateAsString",
  typeClass = org.jasypt.hibernate4.type.EncryptedDateAsStringType.class
}

编辑免责声明:我是 jasypt 的作者。

于 2012-11-07T16:52:19.290 回答