我正在使用JPA与Guice,Jasypt和GWT + Jetty服务器,
我正在尝试为加密列创建自定义类型。
我已经创建了package-info.java,我有自定义类型。 package-info.java位于包含持久性类的包中。
在持久化类中,我注释了特定加密的列。
当我在devmode中启动jetty时,我收到以下错误:
javax.persistence.PersistenceException:[PersistenceUnit:persistenceUnit]无法在org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java)的org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)中构建EntityManagerFactory: 889)org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)
...
引起:org.hibernate.MappingException:无法确定:encryptedDateAsString的类型,在表:employee,对于列:[org.hibernate.mapping.Column(encrypted_birth_date)]
我做错了什么?
由于
答案 0 :(得分:0)
您所使用的@TypeDef
类型的实体中是否缺少encryptedDateAsString
声明?
例如:
@Entity
@TypeDef {
name = "encryptedDateAsString",
typeClass = org.jasypt.hibernate4.type.EncryptedDateAsStringType.class
}
编辑免责声明:我是jasypt的作者。