我试图为Joda-Time定义一个JPA@converter
,它与JPA@entity
和@stateless
会话bean的结果一起放入EJB JAR中,如下所示:
@Converter(autoApply = true) public class LocalDateConverter implements AttributeConverter<LocalDate, String> { @Override public String convertToDatabaseColumn(final LocalDate localDate) { if (localDate == null) { return null; } return localDate.toString(); } @Override public LocalDate convertToEntityAttribute(final String dbData) { if (dbData == null) { return null; } return LocalDate.parse(dbData); } }
我有一个会话bean,看起来像:
@Stateless @TransactionAttribute(TransactionAttributeType.REQUIRED) public class VenueTableModule { @PersistenceContext EntityManager em; public Bar foo() { final Bar bar = new Bar (); bar.name = "foo" + UUID.randomUUID(); bar.startDate = LocalDate.now(); em.persist(bar); em.flush(); return bar; } }
当我从servlet调用em.persist(bar)
行时,它会失败。代码在没有em.*
行的情况下工作。当转换器、无状态会话bean等被移动到web应用程序时,我不会得到错误,我知道这是允许的,而且我可能必须这样做。因此@converter
使用的类加载器似乎与EJB JAR的其余部分不同。
我正在使用GlassFish4.0,我不确定这是一个bugglassFish-21161还是我只是做错了什么。然而,我所拥有的代码似乎可以与WildFly一起工作
AttributeConverter
是泛型类型类。请参阅下面的Java文档:
/**
* A class that implements this interface can be used to convert
* entity attribute state into database column representation
* and back again.
* Note that the X and Y types may be the same Java type.
*
* @param <X> the type of the entity attribute
* @param <Y> the type of the database column
*/
public interface AttributeConverter<X,Y>
尝试将LocalDateConverter更改为
public class LocalDateConverter implements AttributeConverter<LocalDate, String>
其中localdate
是实体bean中属性的类型,string
是数据库希望作为varchar
或char
或text
字段使用的类型。
我将spring与JPA一起使用,并尝试使用@query与SQL query一起执行查询,并尝试将结果映射到一个对象。我有不同的实体类和映射到其他dto,因为我不想要所有的列。获取以下错误 如何解决上述问题。 如果问题无法解决,那么我们可以使用spring data JPA在不使用@Query的情况下解决问题吗?怎么做? 使用JPQL::编辑:: 获取以下错误
我用一个byte[]的图像取得了一类成就。 问题是用户将图像URL发送到create的endpoint spring在读取请求正文时抛出错误,甚至不允许我将图像转换为字节数组。 JSON分析错误:无法从字符串“//img.favpng.com/13/18/21/computer-icons-acquirement-trophy-award-png-favpng-tyahj0mkcwhjyqa1bp
我在Enver和MySql 5.6中使用HiberNate 4.3.4。 如果没有 JPA 2.1 转换器,下面的 实体在 上会失败,因为 Hibernate 不知道如何处理 Name 类: 例外情况是: 为了解决这个问题,我然后添加这个转换器: 现在,异常变为: 这现在在实体的Envers审计表中失败。请注意,是审核表的名称,由选择。 完整的堆栈跟踪是: 我如何解决这个问题?Envers甚至与A
我有一个名为<code>律师</code>的实体,在<code>律师库中有以下代码: 如您所见,我想返回< code > Java lang . control . option 而不是< code>java.util.Optional。它会导致以下异常: org.springframework.core.convert.ConversionFailedException:无法从类型 [java.
我有一个存储库方法
和RDD类似,transformation允许从输入DStream来的数据被修改。DStreams支持很多在RDD中可用的transformation算子。一些常用的算子如下所示: Transformation Meaning map(func) 利用函数func处理原DStream的每个元素,返回一个新的DStream flatMap(func) 与map相似,但是每个输入项可用被映射为0个或者