0

我正在浏览一个不是我的代码,我想手动更改应用程序数据库中的一些数据。该代码使用休眠来处理其与数据库的通信,但我无法准确确定提到数据库相关信息(表名、访问点等)的位置。我试图通过深入类树来找到更多,但最终总是找到休眠黑盒类(即使使用反编译器我也无法理解)。

基本上,似乎最接近我的观点的部分是这个:

        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;

周围有没有休眠专家可以帮助我弄清楚是否有某种“配置”文档,我们可以在其中提及休眠的所有相关参数?或者如果有什么我应该知道的可以帮助我理解框架的行为方式?

谢谢 !

4

1 回答 1

0

由于 Bohemian 在评论中指出的内容,该问题已得到解决:

对于任何在面临与我相同的审问后最终会来到这里的人,只需追踪您的代码,直到您找到一些具有各种属性的类,这些属性是不言自明的并且可以与数据库字段相关联。使用 Spring 时,这更容易,只需查找带有 @Table 和 @Column 注释的 @Entity 注释类,这就是您要寻找的 :D 。

于 2019-11-08T09:27:05.967 回答