"""数据访问层:只负责数据读写。
分层约束:
- **只 flush,不 commit** —— 事务边界由 `services/` 层控制
- 不抛业务异常;查不到数据返回 None 或空集合,由 service 决定如何处置
- 不在此层做权限判断或业务规则校验
"""