zoukankan      html  css  js  c++  java
  • Compiere是如何實現持久層 ?

    基本上是compiere把所有的表定义放在AD_Table,AD_Column里面,也就是所谓的ad里面。
    所以,基本上通过ad的定义,就可以实现对PO的动态管理。
    但是,从04年开始,为了适应compiere的db independent的计划,compiere在代码级别加强了po的管理, 基本上由这么几个类层次构成:1,PO.java, 这个是所有PO的基类,由它实现了查询,更新,删除的操作。
    尤其是在这个类中,compiere希望由它来实现类似trigger的功能,以移植过去用大量PL/SQL写的trigger代码。 大家看到有beforesave,aftersave等function, 就是用来代替trigger的
    2, X_***.java, 这个是可以通过compiere提供的generateModel工具自动产生的,
    它继承了PO, 然后基本上相当于一个简单的bean, 是由一些类的get, set组成的。
    3, 一般需要一些更复杂的功能,所以大部分的表还会有个对应的M***.java
    它继承了X_***.java,  一般实现一些更复杂的业务逻辑。
    如果还是一些文档类型的model, 那这个类还会实现DocAction接口
    这种类,可以直接应用到workflow中,进行文档状态的转换。
  • 相关阅读:
    flask多线程多协程操作
    flask介绍
    centos django+Nginx+uwsgi部署
    centos下运行python3.6+Django+mysql项目
    centos虚拟机下安装nginx
    redis安装
    路飞学城课程_课程详细_作业点评
    redis使用方式
    git命令学习
    组合&多态&封装
  • 原文地址:https://www.cnblogs.com/byfhd/p/785657.html
Copyright © 2011-2022 走看看