zoukankan      html  css  js  c++  java
  • @JoinColumn 匹配关联多个字段

    					<div class="htmledit_views">
    
    两张表结构如下
    TABLE_A:
    ID, COLA1, COLA2

    TABLE_B:
    ID, A_ID, COLB1, COLB2

    A和B是一对多的关系。
    我在B的BEAN上面,通过Anotation建立如下关系。
    @ManyToOne(cascade = CascadeType.REFRESH, targetEntity = TABLE_A.class)
    @JoinColumn(name = "A_ID", referencedColumnName = "ID", nullable = true, insertable = false, updatable = false)

    现在的问题来了,就是在 TABLE_B.A_ID = TABLE_A.ID同时,还要求TABLE_B.COLB1="ABC"。


    解决办法如下:

    @OneToOne
        @JoinColumnsOrFormulas(value={
            @JoinColumnOrFormula(column=@JoinColumn(name ="apply_id", referencedColumnName ="apply_id",
                    nullable = true, insertable =false, updatable =
                    false)),@JoinColumnOrFormula(formula=@JoinFormula(value="'open_id'",
            referencedColumnName = "open_id"))
        })
        private ShareGroupMemberEntity member;
    

    重点就是@JoinFormula的使用(和@JoinColumn类似):

    value指明对应列的值(这里也可以写SQL表达式),

    referencedColumnName指明列的名称

    由于关联关系多于一个,所以,需要使用@JoinColumnsOrFormulas、@JoinColumns、@JoinrFormulas这样的标签,将多个条件包括进来。


          </div>
  • 相关阅读:
    tab下图片要求
    segmentController
    下拉加载更多
    获取用户信息
    时间选择器
    JavaScript标准库之 ----  Object
    JavaScript标准库之——JSON
    JavaScript标准库之
    post网络请求坑
    构造一个简单的Linux系统MenuOS
  • 原文地址:https://www.cnblogs.com/jpfss/p/10904006.html
Copyright © 2011-2022 走看看