之前用过hibernate的formula记得很好用,但是这次用到想不起来怎么用了,结果去网上查结果发现大多都是无用信息。
最终搞定了,还是在这里记录一下,省的忘记。
我用formula的目的在于字典表,比如我有一个t_auditi_status是一个字典表,然后我想要在另外一个Project对象里面根据里面的audit_status_id查询出对应的名字。
那么首先需要在project.hbm.xml里面添加下面一段
<property name="auditStatus" formula="(select u.status_name from t_audit_status u where u.status_id = audit_status_id" type="java.lang.String"></property>
formula里面要注意两点。
1.小括号必须有。
2.括号里面的是SQL语句而不是HQL语句。
然后在对应的project.java里面添加 auditStatus属性即可。