`
michaelxz
  • 浏览: 21325 次
  • 性别: Icon_minigender_1
  • 来自: 遂宁
社区版块
存档分类
最新评论

基于注解的domain

阅读更多

现在的需求是省份和城市是1对多的单项,城市和地区是一对多的单项
现在省的代码结构:

private Set<City> citys = new HashSet<City>();

/**
  * 省与城市单向 一对多
  * 
  * @return
  */
 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
 @JoinColumn(name = "pro_id")
 public Set<City> getCitys() {
  return citys;
 }

 
这样的话,在城市的表中就多了一个pro_id的字段
在这里没有比较去做双向,所以在城市的代码中就没有省的属性

如果想要做双向关联,那么代码结构:

private Set<City> citys = new HashSet<City>();

/**
  * 省与城市双向 一对多
  * 
  * @return
  */
 @OneToMany(mappedBy="province")
 public Set<City> getCitys() {
  return citys;
 }

 
 
 mappedBy 只能是OneToMany 和 ManyToMany中有,在ManyToOne中没,这个属性主要就是用于双向关联配置的
 

 private Province province;
 
 @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
 @JoinColumn(name = "pid")
 public Province getProvince() {
  return province;
 }

 

这样数据库中依然只是在城市的表中增加一个pid字段,但是在程序中就可以用过城市来操作所属的省份

关于城市和地区
地区是一个值类型,不能用oneToMany来表示,只能用一下方式

@CollectionOfElements(fetch = FetchType.EAGER)
@JoinTable(name = "cityarea", joinColumns = { @JoinColumn(name = "city_id") })
@Column(name = "cityArea")
public Set<String> getCityAreas() {
  return cityAreas;
 }
 

 
table  cityarea
column   city_id , cityArea

 

分享到:
评论

相关推荐

    基于Java注解的Drools业务规则开发框架设计实现.zip

    3. **基于注解的规则定义**:通过在Java类和方法上使用Drools提供的注解,可以直接在Java代码中定义规则。例如,使用`@Rule`注解定义规则,`@When`注解定义规则的条件部分,`@Then`注解定义规则的动作部分。这种方式...

    基于spring boot的mqtt例子,使用注解将不同的主题分派给不同的任务 支持+、#通配符

    【作品名称】:基于spring boot的mqtt例子,使用注解将不同的主题分派给不同的任务。支持+、#通配符 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或...

    java代码 根据domain自动生成DAO层 小tool(功能有待又垒加)

    根据提供的标题和描述,我们可以推测这是一个基于特定domain(领域模型)自动生成DAO层代码的小型工具,其功能可能还有待扩展和增强。 首先,我们需要理解DAO层的基本概念。DAO是数据访问对象,它提供了一种方法来...

    springboot注解

    - **应用场景**:通常用于模型层(domain layer),使得POJO类具备基本的读写功能。 ##### 8. @Mapper - **作用**:MyBatis框架中的注解,用于标记接口类,使得MyBatis可以识别并创建代理对象。 - **应用场景**:...

    基于框架的Web开发-第一个springMVC的例子.doc

    这个例子帮助我们理解SpringMVC框架的核心概念,如模型-视图-控制器模式(MVC)和基于注解的配置。在实际项目中,我们可以扩展这个例子,添加更多的功能,如数据验证、数据库交互等,以实现更复杂的业务需求。

    processpuzzle-commons-domain-0.1.1-RELEASE.zip

    1. Java编程语言:两个项目都是基于Java开发的,使用了JavaX编译器适配器,可能还涉及到Java注解处理器。 2. OSGi技术:"phidias"项目适应于OSGi环境,意味着它被设计成模块化的,可以在运行时动态加载和卸载服务。 ...

    Grasshopper学习手册笔记(含英文注解).doc

    Grasshopper是一个基于Rhino的算法设计插件,提供了丰富的电池组件来帮助设计师快速生成复杂的几何体和曲面。在这个笔记中,我们将探索Grasshopper的学习手册笔记,了解各种电池组件的使用方法和应用场景。 ...

    2023年Grasshopper学习手册笔记含英文注解.doc

    Grasshopper是一个基于Rhino的算法设计平台,为建筑设计、景观设计、产品设计等领域提供了强大的设计和模拟工具。下面是Grasshopper学习手册笔记的知识点总结: 一、Params(参数)电池组 * Geometry(几何):...

    HALCON中文中文注解.doc

    在文档 "HALCON中文中文注解.doc" 中,我们可以看到一些关于如何操作和查询HALCON图像参数的关键函数。 1. **get_grayval**: 这个函数用于计算图像中指定坐标的像素点的灰度值。例如,`get_grayval(Image, Row, ...

    基于struts2 spring2.5 hibernate3的人事管理系统 源码完整包

    在这个基于Struts2、Spring2.5和Hibernate3的人事管理系统中,贫血模型的DAO层意味着领域对象(Domain Objects)与业务逻辑相分离。DAO(Data Access Object)主要负责数据的存取操作,不包含任何业务逻辑,这有利于...

    java javascript

    5. **基于注解的Spring开发**: 使用注解可以使开发更加简洁和高效。通过在类上添加@Controller、@Service、@Repository等Spring注解,可以将这些组件纳入Spring容器进行管理,实现依赖注入。例如,@Autowired注解...

    Groovy.for.Domain.Specific.Languages.pdf

    Groovy的灵活性允许开发者自由地定制语法,甚至可以通过注解或元类来定义新的语法元素。 #### 3. 实现和测试DSL 利用Groovy的特性实现DSL的解析和执行逻辑。这通常涉及到编写解释器或编译器,将DSL代码转换成可执行...

    基于YOLOP网络训练的DBB整理数据

    4. **da_seg_annotations**:这可能是"detail annotations"或"domain adaptation"的缩写,表明包含了更详细的分割注解,或者与领域适应相关的注解。领域适应是指让模型在不同环境或条件下都能表现良好,比如从白天到...

    基于框架的Web开发-Mybatis入门.doc

    【基于框架的Web开发-Mybatis入门】 MyBatis 是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解...

    【RBAC】基于springboot+shiro实现RBAC权限后台管理系统.zip

    【RBAC】基于springboot+shiro实现RBAC权限后台管理系统.zip 项目结构 |—— ctrl —— 请求层 |—— service —— 业务层 |—— common |—— |—— annotation —— 项目中使用的注解 |—— |—— aspect —— ...

    JUnit-Validating-a-domain-Maven-Installation-:根据特定模式验证三个域名(DOMAIN_NAME_PATTERN)

    JUnit测试类通常继承自`org.junit.Test`注解的类,测试方法会带有`@Test`注解。这些方法会在运行测试时自动执行,如果方法内部的逻辑抛出异常,那么测试就会失败。例如,我们可以创建一个名为`DomainValidatorTest`...

    基于Cookie的Session跨域.zip

    3. 配置Session跨域:在Spring MVC的配置类中,添加`@EnableSpringHttpSession`注解以启用Spring Session,并配置`HttpSessionConfigurator`以支持跨域。 4. 自定义Cookie:为了支持跨域,我们需要修改默认的...

    generator:基于mybatis-plus 3.0.5的代码生成器

    基于项目架构:核心框架Spring / 持久层 MyBatis-Plus :check_mark: 支持生成项目到指定文件目录中,默认是引用本项目 :check_mark: 支持自定义是否生成swagger2的注解 :check_mark: 支持自定义是否生成Service层...

    基于Junit的HttpUnit测试

    **基于Junit的HttpUnit测试** 在软件开发中,单元测试是确保代码质量的重要环节,它可以帮助开发者在早期发现和修复问题,提高软件的稳定性和可靠性。`JUnit` 是一个广泛使用的 Java 测试框架,而 `HttpUnit` 则是...

    一个SpringBoot基础项目框架

    自定义注解+拦截器实现基于RBAC接口权限校验(配套文档:https://blog.csdn.net/wujiangbo520/article/details/122057616) 全局异常处理 接口统一结果返回 一键生成数据库设计文档 大批量数据插入数据库测试 根据...

Global site tag (gtag.js) - Google Analytics