多项选择题

A.代码重用性高,能够完成所有的数据访问操作
B.能够支持多种数据库平台
C.具有相对独立性。当持久层的实现发生变化时,不会影响上层的实现
D.开放源代码