带有嵌入式ElementCollections的JPA CriteriaBuilder

亨德拉

我正在尝试从具有包含ElementCollection的嵌入式实体的对象中查询

enum class MyEnum {VALUE1, VALUE2}

data class MyObject(

    @Embedded
    val embedded: EmbeddedObject? = EmbeddedObject(),
)


@Embeddable
data class EmbeddedObject(

    @ElementCollection(targetClass = MyEnum::class)
    @CollectionTable(name = "t_my_enum", joinColumns = [JoinColumn(name = "fk_my_object")])
    @Column(name = "enum_value")
    @Enumerated(value = STRING)
    val enumValues: Set<MyEnum> = mutableSetOf(),
}

我现在正尝试过滤结果以包含中的一组值MyEnum当前方法(不起作用):

    val myFilter = mutableSetOf(VALUE1)
    val criteria: CriteriaBuilder = entityManager.criteriaBuilder
    val query: CriteriaQuery<MyObject> = criteria.createQuery(MyObject::class.java)
    val root: Root<MyObject> = query.from(MyObject::class.java)
    root.where(root.get<EmbeddedObject>("embedded").get<Set<MyEnum>>("enumValues").`in`(myFilter)))

这将失败,并显示以下错误消息:

java.lang.IllegalArgumentException: Parameter value [VALUE1] did not match expected type [java.util.Set (n/a)]

我还尝试加入EmbeddedObject或enumValues列,但两者均无效。

亨德拉

尽管EmbeddedObject没有相应的数据库表,但解决方法是使用join它而MyEnum不是使用get

root.where(root.join<MyObject, EmbeddedObject>("embedded").join<EmbeddedObject, MyEnum>("enumValues").`in`(myFilter))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在嵌入式对象上使用CriteriaBuilder

来自分类Dev

@ManyToOne的JPA规范CriteriaBuilder

来自分类Dev

使用CriteriaBuilder选择带有“ where”的计数

来自分类Dev

用于加入子查询的JPA CriteriaBuilder

来自分类Dev

JPA CriteriaBuilder和子字符串

来自分类Dev

JPA CriteriaBuilder-表达式<列表>

来自分类Dev

JPA 2 CriteriaBuilder加入无关系

来自分类Dev

JPA中的CriteriaBuilder-where子句

来自分类Dev

JPA CriteriaBuilder-表达式<列表>

来自分类Dev

使用 JPA CriteriaBuilder 的多级子查询

来自分类Dev

如何在CriteriaBuilder中编写此JPA选择语句

来自分类Dev

如何使用JPA CriteriaBuilder在WHERE中使用多个值

来自分类Dev

Using JPA CriteriaBuilder to generate query where attribute is either in a list or is empty

来自分类Dev

如何在JPA中从Expression转换为CriteriaBuilder

来自分类Dev

JPA CriteriaBuilder对子类进行过滤的方式是什么?

来自分类Dev

JPA CriteriaBuilder将合并条件合并为析取条件

来自分类Dev

我可以在JPA CriteriaBuilder中引用非映射表吗?

来自分类Dev

带有负数的嵌入式除法

来自分类Dev

带有嵌入式码头的招摇

来自分类Dev

使用JPA CriteriaBuilder生成查询,其中属性在列表中或为空

来自分类Dev

如何告诉JPA CriteriaBuilder按返回的唯一数据列排序?

来自分类Dev

如何将JPA 2.1的CriteriaBuilder.function与MySQL的“ GROUP_CONCAT”一起使用?

来自分类Dev

CriteriaBuilder连接两个具有自定义条件的表

来自分类Dev

CriteriaBuilder连接两个具有自定义条件的表

来自分类Dev

Criteriabuilder lower()与Java toLowerCase()

来自分类Dev

CriteriaBuilder半径计算

来自分类Dev

带有嵌入式API密钥的静态API文档

来自分类Dev

带有多个嵌入式图标的EXE

来自分类Dev

发送带有嵌入式图像的电子邮件

Related 相关文章

  1. 1

    在嵌入式对象上使用CriteriaBuilder

  2. 2

    @ManyToOne的JPA规范CriteriaBuilder

  3. 3

    使用CriteriaBuilder选择带有“ where”的计数

  4. 4

    用于加入子查询的JPA CriteriaBuilder

  5. 5

    JPA CriteriaBuilder和子字符串

  6. 6

    JPA CriteriaBuilder-表达式<列表>

  7. 7

    JPA 2 CriteriaBuilder加入无关系

  8. 8

    JPA中的CriteriaBuilder-where子句

  9. 9

    JPA CriteriaBuilder-表达式<列表>

  10. 10

    使用 JPA CriteriaBuilder 的多级子查询

  11. 11

    如何在CriteriaBuilder中编写此JPA选择语句

  12. 12

    如何使用JPA CriteriaBuilder在WHERE中使用多个值

  13. 13

    Using JPA CriteriaBuilder to generate query where attribute is either in a list or is empty

  14. 14

    如何在JPA中从Expression转换为CriteriaBuilder

  15. 15

    JPA CriteriaBuilder对子类进行过滤的方式是什么?

  16. 16

    JPA CriteriaBuilder将合并条件合并为析取条件

  17. 17

    我可以在JPA CriteriaBuilder中引用非映射表吗?

  18. 18

    带有负数的嵌入式除法

  19. 19

    带有嵌入式码头的招摇

  20. 20

    使用JPA CriteriaBuilder生成查询,其中属性在列表中或为空

  21. 21

    如何告诉JPA CriteriaBuilder按返回的唯一数据列排序?

  22. 22

    如何将JPA 2.1的CriteriaBuilder.function与MySQL的“ GROUP_CONCAT”一起使用?

  23. 23

    CriteriaBuilder连接两个具有自定义条件的表

  24. 24

    CriteriaBuilder连接两个具有自定义条件的表

  25. 25

    Criteriabuilder lower()与Java toLowerCase()

  26. 26

    CriteriaBuilder半径计算

  27. 27

    带有嵌入式API密钥的静态API文档

  28. 28

    带有多个嵌入式图标的EXE

  29. 29

    发送带有嵌入式图像的电子邮件

热门标签

归档