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
{
}
分享到:
相关推荐
此外,许多工具还支持注释、数据验证规则以及与ORM框架(如Entity Framework)的集成,进一步简化了开发流程。 C#实体类生成器的工作原理通常是解析数据源(如SQL脚本、数据库连接、XML或JSON文件),然后自动生成...
在IT行业中,尤其是在软件开发领域,权限管理是一个至关重要的部分,尤其对于企业级应用来说更是如此。C#作为.NET框架的主要编程语言,提供了强大的工具和技术来实现通用权限系统。本篇将详细介绍“C#通用权限”这一...
#### 能否在运行时向static final类型的变量赋值 不可以,`static final`类型的变量在编译时就必须赋值,并且之后不能再改变。 #### 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变 使用`...
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用...
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最...