zoukankan      html  css  js  c++  java
  • Hibernate @OneToMany等注解设置查询过滤条件等

    1、如实体PdOrg对象中有users对象,数据库user表有字段DEL_FLAG(0:删除;1:未删除):

    private List<User> users= new ArrayList<User>();
    生成get、set方法: 

    @OneToMany(fetch=FetchType.LAZY, mappedBy="user")
    @BatchSize(size=10)
    @Where(clause="DEL_FLAG=1")
    @OrderBy(clause="CREATED_DATE asc")
    public List<User> getUsers() {
      return this.user;
    }


    public void setUsers(List<User> user) {
      this.user= user;
    }

    @BatchSize(size=10) //缓存数据大小:10条数据

    @Where(clause="DEL_FLAG=1") //代表只取未删除的数据;

    @OrderBy(clause="CREATED_DATE asc") //代表按创建时间正序排列
     
    2、用一个列关联多个实体属性,比如举报维权,举报的对象可能是用户,悬赏,商品,订单
    //举报对象(用户)
     @OneToOne(cascade = { CascadeType. REFRESH }, fetch = FetchType.EAGER )
     @JoinColumn(name = "gid", insertable = false, updatable = false)
      @NotFound(action=NotFoundAction. IGNORE)
      private UserInfo reporteder;
         
      //举报对象(悬赏)
      @OneToOne(cascade = { CascadeType. REFRESH }, fetch = FetchType.EAGER )
      @JoinColumn(name = "gid", insertable = false, updatable = false)
      @NotFound(action=NotFoundAction. IGNORE)
       private Reward reward;
         
       //举报对象(商品)
       @OneToOne(cascade = { CascadeType. REFRESH }, fetch = FetchType.EAGER )
       @JoinColumn(name = "gid", insertable = false, updatable = false)
       @NotFound(action=NotFoundAction. IGNORE)
        private Product product;
         
         //举报对象(订单)
         @OneToOne(cascade = { CascadeType. REFRESH }, fetch = FetchType.EAGER )
         @JoinColumn(name = "gid", insertable = false, updatable = false)
         @NotFound(action=NotFoundAction. IGNORE)
         private Order order;
         
  • 相关阅读:
    vsftp 虚拟用户测试
    RHEL7 MariaDB测试
    安装xenapp后,非管理员连接RDP出现桌面当前不可用的解决方法
    sqrt函数的实现
    O2O、C2C、B2B、B2C
    libsvm使用说明
    如何确定最适合数据集的机器学习算法
    知乎日报:她把全世界的学术期刊都黑了
    逻辑回归应用之Kaggle泰坦尼克之灾
    非均衡数据分布的分类问题
  • 原文地址:https://www.cnblogs.com/fengzhanfei/p/6141038.html
Copyright © 2011-2022 走看看