我试图在我的一个实体类中使用@Formula。 我需要做的是从另一个实体中选择一个布尔值。
我试图放置属性定义但是在发布时它一直抛出NullPointerException,我按如下方式做了
@JoinColumn(name = "SOIR08_FECHA_CARGA", referencedColumnName = "SOIR15_CODI_FECHA", nullable = true)
@ManyToOne(fetch = FetchType.EAGER)
private FechaCarga loadDate;
@JoinColumn(name = "SOIR08_RECEPTOR", referencedColumnName = "SOIR05_CON_DISTRITO_TELEFONICO", nullable = true)
@ManyToOne(optional = true, fetch = FetchType.EAGER)
private DistrictPhone receiver;
@Formula("(select io.done from Table io where io.district = receiver and io.loadDate = loadDate)")
private Boolean isDone;
然后我尝试将@Formula注释放入getter
@Formula("(select io.done from Table io where io.district = receiver and io.loadDate = loadDate))")
public Boolean getIsDone() {
return isDone;
}
但是当我访问必须显示属性的页面时,我得到 ORA-00904:“APROB0 _”。“ISDONE”:标识符无效
任何想法,建议或解决方法都将受到高度赞赏。
答案 0 :(得分:0)
您必须在SQL
(但不是@Formula
)中写出纯HQL
。
答案 1 :(得分:0)
我找不到使用此注释的方法而不会出错。 我决定做的是在表格中添加一个列,并在插入时填充它,这不是最好的方法,但我需要快速完成,论坛上没有任何内容对我有效。 感谢。