Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jasypt的问题,package-info.java_Java_Jpa_Jetty_Guice_Jasypt - Fatal编程技术网

Jasypt的问题,package-info.java

Jasypt的问题,package-info.java,java,jpa,jetty,guice,jasypt,Java,Jpa,Jetty,Guice,Jasypt,我将JPA与Guice、Jasypt和GWT+Jetty服务器一起使用 我正在尝试为加密列创建自定义类型 我已经创建了package-info.java,其中包含自定义类型。package-info.java位于包含持久性类的包中 在持久性类中,我对特定加密的列进行了注释 在devmode中启动jetty时,出现以下错误: javax.persistence.PersistenceException:[PersistenceUnit:PersistenceUnit]无法在org.hibernat

我将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:914)的org.hibernate.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)上构建EntityManagerFactory位于org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)

导致原因:org.hibernate.MappingException:无法确定列:[org.hibernate.mapping.Column(加密的出生日期)]

我做错了什么


谢谢

您使用的
encryptedDateAsString
类型是否在您的实体中缺少
@TypeDef
声明

例如:

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

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

嗨,丹尼尔。谢谢你的回答。我已经做了一个简单的测试项目(控制台应用程序),TypeDef位于package-info.java中,它正在工作,但在Guice+JPA项目中不工作。我为Guice+JPA设计的解决方案是使用一个带有TypeDef声明的抽象类,持久性类将扩展该类。这是一个合适的解决方案吗?谢谢