【问题标题】:JPA: TypedQuery for byte array fieldJPA:字节数组字段的 TypedQuery
【发布时间】:2014-10-16 16:03:56
【问题描述】:

在 JPA 中,查询类型返回泛型类型对象,需要将其转换为指定的数据类型。我最近看到了另一个 Query 实例,它是 TypedQuery。 TypedQuery 确保query.getSingleResult()query.getResultList() 将具有指定的泛型类型。 (例如,TypedQuery<String> 将对象作为字符串返回)。

我的问题是当获取结果为字节数组 (byte[]) 时将提供什么泛型类型?我正在使用此字段来存储图像。

谢谢!

【问题讨论】:

  • ...不是Blob / @Lob?
  • byte[] 是一个有效的泛型类型,所以TypedQuery<byte[]> 将返回byte[]。 :)
  • @Powerlord 我更喜欢 byte[] 而不是 blob,因为它在 Java 中更方便。无论如何,感谢您提供替代方案。
  • @EriezeLagera Blob 可以使用 @Lob 注释作为 byte[] 访问。 @Lob documentation 就是一个例子。
  • @kocko 我没有意识到 byte[] 是一个类。 Öbyte[].class 在场。 :)) 谢谢你通知我。

标签: java generics jpa


【解决方案1】:

byte[] 原来也是 Java 中的泛型类型。这样一来,TypedQuery就会变成这样,

TypedQuery<byte[]> query;

那么对于查询结果的类型将是byte[].class

就是这样,结果将是一种字节[]。

【讨论】:

    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 2021-12-04
    相关资源
    最近更新 更多