【问题标题】:Hibernate JPA - How to obtain Path to property of class mapped on single column?Hibernate JPA - 如何获取映射到单列的类属性的路径?
【发布时间】:2013-02-10 20:21:21
【问题描述】:

我正在使用 JPA。我有具有特定属性的 java 实体类 - 映射在单列上的类:

@Entity
MyClass{

    @Column(length = 6, nullable = true)
    @Type(type = "mypackage.MyInnerClassHibernateType")
    @Mergable
    private MyInnerClass myProperty;

    ...

}

类 MyInnerClass 很简单,只包含一个字符串和几个方法:

public class MyInnerClass{

    private String value;

    ...
}

我对构建标准有疑问。假设我有 Join,MyClass> jMyClass, 我需要 Path 来赋值,所以我可以使用 builder.like(...) 进行比较。

怎么做?

Path<String> path = jMyClass.get("myProperty");

给我:参数值与预期类型不匹配

Path<String> path = jMyClass.get("myProperty").get("value");

给我:非法尝试取消引用路径源 [null]

【问题讨论】:

    标签: hibernate jpa criteria-api custom-type


    【解决方案1】:

    那是做不到的,因为最终我们会针对数据库运行 SQL 查询。数据库不知道存储到myProperty 的数据是字段名为value 的对象。

    一般而言,Java 编程语言的其他构造也不能用于 SQL 查询 - 即使查询是通过 Criteria API 构造的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多