Mar*_*nas 9 java methods jpa objectdb
我正在使用带有JPA的ObjectDB.我想调用myMethod().例如:
entityManager.createQuery("SELECT ... FROM ... WHERE MyClass.myMethod() = 100")
可能吗?在类中的方法之前可能需要任何注释吗?
@Entity
public class MyClass implements Serializable {
    @Basic 
    private int x;
    @Basic
    private int y;
    public int myMethod() {
        return x*1000+y;
    }
}
JPQL 不完全是一种基于对象的查询语言。您无法定义自己的方法,而且 JPQL 提供的函数集非常有限。因此,如果您想遵守 JPA 规范,那么答案是否定的;必须是特定于 JPA 的实现 - DataNucleus JPA 当然允许您在查询语言中拥有自己的方法(作为供应商扩展),不知道您引用的 JPA 提供程序 - 尽管如此,它只会在数据存储,如果你把代码中的查询方法实现该方法(如类相对)
| 归档时间: | 
 | 
| 查看次数: | 6683 次 | 
| 最近记录: |