java - 在 Eclipse 中显示命名查询建议/警告

标签 java eclipse hibernate jpa

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

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

当使用 javax.persistence.EntityManager 时,或

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

当使用org.hibernate.Session时。

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

谁有解决办法吗?

最佳答案

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

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

我已将常量名称设为大写,以尊重常见的 Java 约定,但如果您确实愿意,也可以使用 findActivities

关于java - 在 Eclipse 中显示命名查询建议/警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20957463/

相关文章:

java - hadoop mapreduce 中的重复项

java - 排序数组的直方图

java - 合并同一个表中的两列并将结果保存到mysql中同一个表中的其他列中

android - 选择SDK版本达到最大人数

java - Android Studio 突然在 Logcat 中显示太多日志

java - JPA 在同一父类中两次映射相同的子关系(不同的基数)

hibernate - 有没有一种简单的方法可以在 Spring Boot 中将对象映射到实体对象?

java - Jersey 容器监听器中事件的集成测试

java - 在命令行中创建 Eclipse Java 项目

java - JPA 2.0 CriteriaBuilder 帮助 - 如何选择与特定 where 查询匹配的最大(最大值)值?