1

我正在使用 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<String> 来赋值,所以我可以使用 builder.like(...) 来比较它。

怎么做?

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

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

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

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

4

1 回答 1

1

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

通常,Java 编程语言的其他结构也不能在 SQL 查询中使用 - 即使查询是通过 Criteria API 构造的。

于 2013-05-11T11:25:50.620 回答