我正在浏览的代码不是我的,我想手动更改应用程序数据库中的一些数据。该代码正在使用hibernate处理与db的通信,但是我无法弄清楚究竟在何处提到了db相关信息(表名称,访问点等)。我试图通过跳入类树来找到更多内容,但最终还是找到了休眠的黑盒类(即使使用反编译器也无法理解)。
基本上,与我的观点最接近的部分是:
getElements(String businessKey,String businessKeyBis,ProcessType processType) {
Session session = getSession();
BusinessProcessInstance result = null;
//Hibernate creates a criteria
Criteria criteriaQuery = session.createCriteria(BusinessProcessInstance.class)
.add(Restrictions.in("state",new ProcessState[]{ProcessState.RUNNING,ProcessState.NEW}))
.add(Restrictions.eq("businessKey",businessKey))
.add(Restrictions.eq("processType",processType))
.addOrder(Order.desc("id"));
if (null != businessKeyBis) {
criteriaQuery.add(Restrictions.eq("businessKeyBis",businessKeyBis));
}
@SuppressWarnings("unchecked")
//Then at this point it uses the 'list' method to question the database
List<BusinessProcessInstance> bpiList = criteriaQuery.list();
if (bpiList.size() > 0) {
result = bpiList.get(0);
}
return result;
是否有一个冬眠专家可以帮助我弄清楚是否有某种“配置”文档可以提及冬眠的所有相关参数?或者,如果有什么我应该意识到的事情可能会帮助我理解框架的工作方式?
谢谢!