我使用Hibernate几年但不确定Query和Criteria的用法。
我明白,Hibernate的优势之一就是在一个地方控制字段名称。 如果我有以下代码:
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.like("name", "Fritz%") )
.add( Restrictions.between("weight", minWeight, maxWeight) )
.list();
如果我在java对象中更改Cat的“名称”怎么办?
即使使用重构替换(如在Elipse中),它也不会将元素检测为需要更改的内容!
如果是这样,你如何在Java中维护字段名称?
答案 0 :(得分:0)
我过去遇到了同样的问题,实际上没有办法在java中有一个字段的类型和重构(更改名称)引用,所以既不可能有一个允许这个的查询构建器,但是我试图构建一个查询构建器的实现,使用一些解决方法尝试允许您编写类型安全和重构抗性查询,它的名称是ObjectQuery,您可以找到有关here的一些信息。
让我知道它是否解决了您的使用案例!
显然没什么标准,所以如果你正在寻找标准的东西,更好的JPA Typesafe但它没有相同的力量!