`
daojun.zeng
  • 浏览: 10988 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

如此orm可否

阅读更多
ava代码
public class Entity  
{  
    protected TableMapping        tlbMapping;          // 与数据表的结构映射关系  
    protected Map<String, Object> attrs;               // entity的属性  
 
    protected Set<Class<Entity>>       hasOne;              // 1对1  
    protected Set<Class<Entity>>       hasMany;             // 1对多  
    protected Set<Class<Entity>>       belongsTo;           // 多对1  
    protected Set<Class<Entity>>       hasAndBelongsToMany; // 多对多  
 
    public void setAttr(String attrName, Object value)  
    {  
        attrs.put(attrName, value);  
    }  
 
    public Object getAttr(String attrName)  
    {  
        return attrs.get(attrName);  
    }  
      
    /** 
     * 重载这个方法,用来设置关系 
     */ 
    public void setRelation()  
    {  
        // 在这里手动的设置关系,1对1,1对多。。。  
        hasOne(...);  
        belongsTo(...);  
        ...  
    }  
 
    protected void hasOne(Class<Entity>... clazzs)  
    {  
        for (Class<Entity> clazz : clazzs)  
            hasOne.add(clazz);  
    }  
 
    protected void belongsTo(Class<Entity>... clazzs)  
    {  
        for (Class<Entity> clazz : clazzs)  
            belongsTo.add(clazz);  
    }  
 
    protected void hasAndBelongsToMany(Class<Entity>... clazzs)  
    {  
        for (Class<Entity> clazz : clazzs)  
            hasAndBelongsToMany.add(clazz);  
    }  


public class Entity
{
    protected TableMapping        tlbMapping;          // 与数据表的结构映射关系
    protected Map<String, Object> attrs;               // entity的属性

    protected Set<Class<Entity>>       hasOne;              // 1对1
    protected Set<Class<Entity>>       hasMany;             // 1对多
    protected Set<Class<Entity>>       belongsTo;           // 多对1
    protected Set<Class<Entity>>       hasAndBelongsToMany; // 多对多

    public void setAttr(String attrName, Object value)
    {
        attrs.put(attrName, value);
    }

    public Object getAttr(String attrName)
    {
        return attrs.get(attrName);
    }
   
    /**
     * 重载这个方法,用来设置关系
     */
    public void setRelation()
    {
        // 在这里手动的设置关系,1对1,1对多。。。
        hasOne(...);
        belongsTo(...);
        ...
    }

    protected void hasOne(Class<Entity>... clazzs)
    {
        for (Class<Entity> clazz : clazzs)
            hasOne.add(clazz);
    }

    protected void belongsTo(Class<Entity>... clazzs)
    {
        for (Class<Entity> clazz : clazzs)
            belongsTo.add(clazz);
    }

    protected void hasAndBelongsToMany(Class<Entity>... clazzs)
    {
        for (Class<Entity> clazz : clazzs)
            hasAndBelongsToMany.add(clazz);
    }
}


Java代码
public class User extends Entity  
{  

分享到:
评论

相关推荐

    C#实体类生成工具

    此外,许多工具还支持注释、数据验证规则以及与ORM框架(如Entity Framework)的集成,进一步简化了开发流程。 C#实体类生成器的工作原理通常是解析数据源(如SQL脚本、数据库连接、XML或JSON文件),然后自动生成...

    C#通用权限

    在IT行业中,尤其是在软件开发领域,权限管理是一个至关重要的部分,尤其对于企业级应用来说更是如此。C#作为.NET框架的主要编程语言,提供了强大的工具和技术来实现通用权限系统。本篇将详细介绍“C#通用权限”这一...

    百度2019年最新面试题库

    #### 能否在运行时向static final类型的变量赋值 不可以,`static final`类型的变量在编译时就必须赋值,并且之后不能再改变。 #### 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变 使用`...

    最新Java面试宝典pdf版

    5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...

    JAVA面试宝典2010

    5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...

    Java面试宝典-经典

    5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...

    java面试题大全(2012版)

    5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...

    Java面试宝典2012版

    5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用...

    java面试宝典2012

    5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...

    Java面试宝典2012新版

    5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...

Global site tag (gtag.js) - Google Analytics