用点符号命名的 JPA 实体
JPA Entities named with dot notation
我有一些 JPA 实体 类,其中实体的名称包含一个点:
似乎这种命名方案导致命名查询出现问题。在下面的查询中,eclipse 显示每个 FROM 子句的错误,以及对实体的任何引用。如果我将实体的名称更改为 "City",所有这些错误都会消失。应该注意 jpa/hibernate 似乎并没有真正对它提出异议,因为它编译并且工作得很好。但是我想弄清楚如何在 Eclipse 没有到处出错的情况下保持这个命名方案。
@Entity (name = "gnf.City")
@Table (name = "CITY")
@NamedQueries ({ @NamedQuery (name = "City.getMaxId", query = "SELECT MAX (o.id) FROM gnf.City o"),
@NamedQuery (name = "City.getByCode", query = "SELECT c FROM gnf.City c WHERE c.code=:code"),
@NamedQuery (name = "City.getByNameAndState", query = "SELECT c FROM gnf.City c WHERE c.name=:name AND c.state=:state"),
@NamedQuery (name = "City.getByCodeAndState", query = "SELECT c FROM gnf.City c WHERE c.code=:code AND c.state=:state") })
JPA 规范暗示实体名称必须是 Java 标识符(不允许在字符串中使用 period/dot 字符)。 Eclipse Dali 使用的默认 JPQL 解析器遵循 JPA 规范。如果 Hibernate 扩展了规范,那么您可以使用 JBoss Tools Dali 扩展并查看它是否提供不同的解析器。
或者,您可以在 Eclipse 首选项中禁用 Dali 的 JPQL 验证:
Java 持久性 > JPA > Errors/Warnings > 查询和生成器 > 无效或不完整的 JPQL 查询:忽略
我有一些 JPA 实体 类,其中实体的名称包含一个点:
似乎这种命名方案导致命名查询出现问题。在下面的查询中,eclipse 显示每个 FROM 子句的错误,以及对实体的任何引用。如果我将实体的名称更改为 "City",所有这些错误都会消失。应该注意 jpa/hibernate 似乎并没有真正对它提出异议,因为它编译并且工作得很好。但是我想弄清楚如何在 Eclipse 没有到处出错的情况下保持这个命名方案。
@Entity (name = "gnf.City")
@Table (name = "CITY")
@NamedQueries ({ @NamedQuery (name = "City.getMaxId", query = "SELECT MAX (o.id) FROM gnf.City o"),
@NamedQuery (name = "City.getByCode", query = "SELECT c FROM gnf.City c WHERE c.code=:code"),
@NamedQuery (name = "City.getByNameAndState", query = "SELECT c FROM gnf.City c WHERE c.name=:name AND c.state=:state"),
@NamedQuery (name = "City.getByCodeAndState", query = "SELECT c FROM gnf.City c WHERE c.code=:code AND c.state=:state") })
JPA 规范暗示实体名称必须是 Java 标识符(不允许在字符串中使用 period/dot 字符)。 Eclipse Dali 使用的默认 JPQL 解析器遵循 JPA 规范。如果 Hibernate 扩展了规范,那么您可以使用 JBoss Tools Dali 扩展并查看它是否提供不同的解析器。
或者,您可以在 Eclipse 首选项中禁用 Dali 的 JPQL 验证:
Java 持久性 > JPA > Errors/Warnings > 查询和生成器 > 无效或不完整的 JPQL 查询:忽略