Bob*_*Bob 6 jpa eclipselink jpql
我正在使用JPA(EclipseLink 2.4.1)和一个包含命名查询的映射文件.Eclipse在我的映射文件中向我显示以下警告消息:
No mapping is associated with the state field path 't.progress'.
Run Code Online (Sandbox Code Playgroud)
警告属于该类型JPA Problem.我的named-queries.xml文件中的相应行看起来像这样:
<named-query name="FinishedTasks">
<query><![CDATA[SELECT t FROM Task t WHERE t.progress = 100]]></query>
</named-query>
Run Code Online (Sandbox Code Playgroud)
但是,查询在执行时运行正常,因此在运行时没有警告.
这是文件的Task.java样子(摘录):
@Entity
public class Task extends Issue {
private Integer progress = 0;
public Integer getProgress() {
return progress;
}
public void setProgress(final Integer progress) {
this.progress = progress;
}
}
Run Code Online (Sandbox Code Playgroud)
Issue.java 看起来像这样(摘录):
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Issue implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
public long getId() {
return id;
}
public void setId(final long id) {
this.id = id;
}
}
Run Code Online (Sandbox Code Playgroud)
我没有关于使用Issue的查询的警告.
所以我的问题是,如何摆脱警告?警告是否有一些我不知道的含义(如上所述,查询运行正常).
没有映射与状态字段路径“t.progress”关联
我相信这完全是由于 Eclipse JPA 详细信息视图(orm.xml编辑器)造成的,与 EclipseLink 或 JPA 一般无关。该警告提醒您命名查询正在使用未在映射文件中映射的t.progressJPA 查询路径 ( ) 。View/xml 编辑器不会分析 java 类的元数据,因此不知道它是否是通过 JPA 注释映射的。
即该工具正在为您做最好的工作,但它可能会受到其技术/范围的限制。
解决方案:
:^)
| 归档时间: |
|
| 查看次数: |
1189 次 |
| 最近记录: |