当前位置: 首页 > 知识库问答 >
问题:

hibernate如何在运行时更改类或对象

徐奇
2023-03-14

我试图理解hibernate是如何工作的,即在类上放置@Entity是如何使它成为一个持久类的?即


    @Entity
    class A{
        private int b;

        public int getB(){
        return b; 
        }

        public void setB(int b){ 
        this.b = b;
        }
    }

behaves like below written class at runtime

    class A{
        private int b;

        public int getB(){ 
        return (SQL code to fetch b from DB)
        }

        public void setB(int b){
        (SQL code to set b in DB)(b);
        }
    }

共有1个答案

程举
2023-03-14

Hibernate代理/运行时-编织类。这意味着当其他类调用您的类的方法时,它不直接调用它,而是调用代理。然后,这个代理包含涉及持久性上下文操作的逻辑。

如果您想更深入地研究这个主题(不一定是hibernate使用的库),请查看cglib或aspectj之类的库

 类似资料:
  • 问题内容: 我知道可以在运行时通过JavaScript添加新的CSS类定义。但… 如何在运行时更改/删除CSS类定义? 例如,假设我有以下课程: 我想要的是在运行时更改类的规则,以便使用该类的页面中的每个元素都将受到影响。 而且,我也想知道如何删除类定义。 问题答案: 在运行时更改CSS规则并不难,但是显然很难找到想要的规则。PPK可以在quirksmode.org上对此进行快速浏览。 您将要使用

  • 我已经使用SLF4j作为日志框架,由log4j支持。我的问题是,我正在寻找一种在运行时更改记录器日志记录级别的方法。 我知道slf4j不允许通过自己的API直接进行此操作,因此,我必须直接访问日志提供程序。就个人而言,我发现这是slf4j中的一个巨大缺陷。所以现在我的问题是,如何通过slf4j以编程方式确定我使用的是哪种提供者?使用slf4j的最大目的是让您变得与提供商无关-您可以轻松地在您喜欢的

  • 如何在运行时更改application.yaml的值?例如,我有一个服务器地址属性,希望在运行时更改

  • 问题内容: 我有一个Android应用程序,当用户点击时,我想应用定义的样式。 我以为找到一个,但它不存在。我试过了 但它不起作用。 问题答案: 我通过创建一个新的XML文件来做到这一点,如下所示: 我的文件中也有一个条目,如下所示: 然后,在我的代码中,我创建了一个来捕获该上的tap事件: 编辑: 自API 23起,不建议使用 要改回它,你可以使用以下命令:

  • 问题内容: 我需要以固定的间隔运行批处理作业,并且能够在运行时更改此批处理作业的时间。为此,我遇到了Spring框架下提供的@Scheduled注释。但是我不确定如何在运行时更改fixedDelay的值。我进行了一些谷歌搜索,但没有发现任何有用的信息。 问题答案: 在spring启动中,你可以直接使用应用程序属性! 例如: 请注意,如果未定义属性,你还可以具有默认值,例如,默认值为“ 60”(秒)