Jul 10, 2017 10:38:44 AM

    为什么需要视图

    数据库将数据存储在数据表中,有些时候,为了展现某些数据,还需要跨越多个表进行计算。比如你有两个数据表

    • 雇员表 t_employee
    • 任务表 t_task
      每个雇员都会有多个任务,所以任务表有一个字段 eid 指向雇员的主键 id。 我们需要随时知道一个雇员有多少个任务,所以在雇员的的POJO 里面,有一个 Java 字段叫做 taskCount 来描述雇员当前总的任务数量。

    这段代码仅仅是个示意,在不同的数据库上,有不同的写法

    那么实际上,我们建立的这个 Employee 的 Java 对象就是要从 v_employee 获取,但是执行 insert, update 或者 delete 的时候,却是操作 t_employee 的。为了这个特殊的需求, Nutz.Dao 提供了 和 @Readonly 这两个注解。

    在 POJO 对象上使用视图

    1. @View("v_employee") // <- 这里声明了视图
    2. public class Employee{
    3. @Id
    4. ...
    5. @Column("taskcount") // 其实可以不用声明数据库字段名 "taskcount",因为多数数据库忽略大小写
    6. private int taskCount;
    7. ...
    • 通过 @View, Nutz.Dao 知道了当查询数据时候,应该从哪里获取数据

    本页面的文字允许在和GNU自由文档许可证下修改和再使用。