栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Ebean EmbeddedId映射列到ManyToOne关系

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ebean EmbeddedId映射列到ManyToOne关系

为了解决这个问题,我们必须:

  1. 将EntityB.entityA映射到与EntityB.ID.entityA_FK_ID相同的列
  2. 设置EntityB.entityA @JoinColumn批注的’insertable’和’updateable’属性
  3. EntityB.entityA的替代设置器

这是代码:

EntityA.java:

@Entity public class EntityA extends Model {    @Id    private String ID;    @oneToMany(mappedBy="entityA")    public List<EntityB> listEntitesB;    public static Finder<String,EntityA> find = new Finder<String,EntityA>(        String.class, EntityA.class    );    public EntityA() {        ID = UUID.randomUUID().toString();    }    public String getID() {        return ID;    }}

EntityB.java:

@Entity public class EntityB extends Model {    @EmbeddedId    private EntityB_PK ID;    @ManyToOne    @JoinColumn(name = "entityA_fk_id", insertable = false, updatable = false)    private EntityA entityA;    public EntityA getEntityA() {        return entityA;    }    public void setEntityA(EntityA aEntityA) {        entityA = aEntityA;        ID.entityA_FK_ID = aEntityA.getID();    }    public EntityB(String entityB_ID){         ID = new EntityB_PK(UUID.randomUUID().toString(), entityB_ID);    }    public String getID() {        return ID.entityB_ID;    }}

EntityB_PK.java:

@Embeddable public class EntityB_PK implements Serializable {    public String entityB_ID;    @Column(name="entityA_fk_id")    public String entityA_FK_ID;    public EntityB_PK(String entB_ID, String entA_FK_ID){       entityB_ID = entB_ID;       entityA_FK_ID = entA_FK_ID;    }    @Override    public int hashCode() {        return entityB_ID.length() + entityA_FK_ID.length();    }    @Override    public boolean equals(Object obj) {        if (this == obj)  return true;        EntityB_PK b = (EntityB_PK)obj;        if(b==null) return false;        if (b.entityB_ID.equals(entityB_ID) && b.entityA_FK_ID.equals(entityA_FK_ID)) { return true;        }        return false;    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号