Hibernate以及如何避免模态的名称更改

时间:2012-01-18 16:15:47

标签: java hibernate refactoring

我使用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中维护字段名称?

1 个答案:

答案 0 :(得分:0)

我过去遇到了同样的问题,实际上没有办法在java中有一个字段的类型和重构(更改名称)引用,所以既不可能有一个允许这个的查询构建器,但是我试图构建一个查询构建器的实现,使用一些解决方法尝试允许您编写类型安全和重构抗性查询,它的名称是ObjectQuery,您可以找到有关here的一些信息。

让我知道它是否解决了您的使用案例!

显然没什么标准,所以如果你正在寻找标准的东西,更好的JPA Typesafe但它没有相同的力量!