0

我有 2 个类,评估和响应,与多对多关系相关联。评估代码如下所示:

@Entity
public class Evaluation implements Serializable {

private Long id;

@ManyToMany
public List<Reponse> getListOfReponses() {
    return listOfReponses;
}

@Formula("(SELECT COUNT(*) FROM Evaluation_Reponse er, Reponse r, WHERE er.Evaluation_id = id AND r.id = er.listOfReponses_id AND r.correct = 1)")
public Integer getNbCorrectAnswers() {
return nbCorrectAnswers;

}

Correct 是 Reponse 的一个属性,是一个布尔值。

如您所见,我编写了一个休眠公式来填充 nbCorrectAnswers 列。但是,当我保存评估时,一切正常,除了 nbCorrectAnswers 列保持为空。

那么,你能告诉我公式有什么问题,或者如何正确填写我的整个表格吗?谢谢

4

1 回答 1

0

公式始终是只读的。hibernate 假设您有一些其他代码/实体可以插入这些值。AFAIK 公式也仅在从数据库加载时进行评估。

于 2012-08-19T20:38:00.927 回答