在eclipse中显示命名查询提议/警告

时间:2014-01-06 19:13:19

标签: java eclipse hibernate jpa

我正在使用带有JBoss工具的eclipse kepler。 假设我有一个名为“People”的类,在本课程中我有org.hibernate.annotations.NamedQueryjavax.persistence.NamedQuery,名称为“People.findActives”。 当我工作时,为了调用这个命名查询,我写了这个:

entityManager.createNamedQuery("People.findActives").list();

使用javax.persistence.EntityManager或

session.getNamedQuery("People.findActives").list();

使用org.hibernate.Session。

但是,假设我的团队中的一些开发人员只更改了类People中的查询名称。他可以做到,代码不会指责任何错误或警告,因此代码会不一致。 另一件事是,当按下Ctrl + Space时,如果eclipse搜索所有已命名的查询并显示建议,那将是非常酷的。

任何人都有解决方案吗?

2 个答案:

答案 0 :(得分:1)

您可以为查询名称定义字符串常量,并在任何地方使用常量而不是名称字符串,例如:

@NamedQuery(name=Poeple.FIND_ACTIVITIES, ...)
public class Poeple {
    public static final String FIND_ACTIVITIES = "findActivities";
    ...
}

我已经使常量名称大写以尊重常见的java约定,但如果你真的想要,你可以使用findActivities

答案 1 :(得分:0)

我的帖子Avoid hard-coding Hibernate properties解释了我处理您要避免的完全问题的方法。

我的解决方案有一些限制,但确实有效。希望它有所帮助。