壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3845|回复: 7

Compiere是如何實現持久層 ?

[复制链接]
发表于 2005/1/25 15:46:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
Compiere是如何實現持久層 ?
        好像有是用MTable類根据列名組成Insert的語句或Update語句的 ,
但又好像有一組PO抽象類來實現在持久層設計的 ?
        請哪位高手細說一下 ?
发表于 2005/1/26 23:28:22 | 显示全部楼层
基本上是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中,进行文档状态的转换。
 楼主| 发表于 2005/1/27 13:12:41 | 显示全部楼层

有没有UML的类图描述他们之间的层次关系的 ?

上载一个给我们分享一下吧 , 谢谢!
发表于 2005/10/13 15:21:25 | 显示全部楼层

DocAction接口是在哪里?

直接应用到workflow中的DocAction接口是在
M***.java中还是X_***.java中?
发表于 2005/10/13 17:00:24 | 显示全部楼层

为什么不自己看一下呢?

X_...java 根本就没有实现 DocAction
发表于 2005/10/14 09:49:38 | 显示全部楼层

那就麻烦了

如果X_...java 根本就没有实现 DocAction,那所有针对workflow就都需要编码了。
发表于 2006/3/19 22:08:57 | 显示全部楼层

:)

感谢大家,又学到一些东西
Jojo 该用户已被删除
发表于 2006/3/20 18:20:19 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 07:41 , Processed in 0.015754 second(s), 19 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表