现在的需求是省份和城市是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
分享到:
相关推荐
3. **基于注解的规则定义**:通过在Java类和方法上使用Drools提供的注解,可以直接在Java代码中定义规则。例如,使用`@Rule`注解定义规则,`@When`注解定义规则的条件部分,`@Then`注解定义规则的动作部分。这种方式...
【作品名称】:基于spring boot的mqtt例子,使用注解将不同的主题分派给不同的任务。支持+、#通配符 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或...
根据提供的标题和描述,我们可以推测这是一个基于特定domain(领域模型)自动生成DAO层代码的小型工具,其功能可能还有待扩展和增强。 首先,我们需要理解DAO层的基本概念。DAO是数据访问对象,它提供了一种方法来...
- **应用场景**:通常用于模型层(domain layer),使得POJO类具备基本的读写功能。 ##### 8. @Mapper - **作用**:MyBatis框架中的注解,用于标记接口类,使得MyBatis可以识别并创建代理对象。 - **应用场景**:...
这个例子帮助我们理解SpringMVC框架的核心概念,如模型-视图-控制器模式(MVC)和基于注解的配置。在实际项目中,我们可以扩展这个例子,添加更多的功能,如数据验证、数据库交互等,以实现更复杂的业务需求。
1. Java编程语言:两个项目都是基于Java开发的,使用了JavaX编译器适配器,可能还涉及到Java注解处理器。 2. OSGi技术:"phidias"项目适应于OSGi环境,意味着它被设计成模块化的,可以在运行时动态加载和卸载服务。 ...
Grasshopper是一个基于Rhino的算法设计插件,提供了丰富的电池组件来帮助设计师快速生成复杂的几何体和曲面。在这个笔记中,我们将探索Grasshopper的学习手册笔记,了解各种电池组件的使用方法和应用场景。 ...
Grasshopper是一个基于Rhino的算法设计平台,为建筑设计、景观设计、产品设计等领域提供了强大的设计和模拟工具。下面是Grasshopper学习手册笔记的知识点总结: 一、Params(参数)电池组 * Geometry(几何):...
在文档 "HALCON中文中文注解.doc" 中,我们可以看到一些关于如何操作和查询HALCON图像参数的关键函数。 1. **get_grayval**: 这个函数用于计算图像中指定坐标的像素点的灰度值。例如,`get_grayval(Image, Row, ...
在这个基于Struts2、Spring2.5和Hibernate3的人事管理系统中,贫血模型的DAO层意味着领域对象(Domain Objects)与业务逻辑相分离。DAO(Data Access Object)主要负责数据的存取操作,不包含任何业务逻辑,这有利于...
5. **基于注解的Spring开发**: 使用注解可以使开发更加简洁和高效。通过在类上添加@Controller、@Service、@Repository等Spring注解,可以将这些组件纳入Spring容器进行管理,实现依赖注入。例如,@Autowired注解...
Groovy的灵活性允许开发者自由地定制语法,甚至可以通过注解或元类来定义新的语法元素。 #### 3. 实现和测试DSL 利用Groovy的特性实现DSL的解析和执行逻辑。这通常涉及到编写解释器或编译器,将DSL代码转换成可执行...
4. **da_seg_annotations**:这可能是"detail annotations"或"domain adaptation"的缩写,表明包含了更详细的分割注解,或者与领域适应相关的注解。领域适应是指让模型在不同环境或条件下都能表现良好,比如从白天到...
【基于框架的Web开发-Mybatis入门】 MyBatis 是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解...
【RBAC】基于springboot+shiro实现RBAC权限后台管理系统.zip 项目结构 |—— ctrl —— 请求层 |—— service —— 业务层 |—— common |—— |—— annotation —— 项目中使用的注解 |—— |—— aspect —— ...
JUnit测试类通常继承自`org.junit.Test`注解的类,测试方法会带有`@Test`注解。这些方法会在运行测试时自动执行,如果方法内部的逻辑抛出异常,那么测试就会失败。例如,我们可以创建一个名为`DomainValidatorTest`...
3. 配置Session跨域:在Spring MVC的配置类中,添加`@EnableSpringHttpSession`注解以启用Spring Session,并配置`HttpSessionConfigurator`以支持跨域。 4. 自定义Cookie:为了支持跨域,我们需要修改默认的...
基于项目架构:核心框架Spring / 持久层 MyBatis-Plus :check_mark: 支持生成项目到指定文件目录中,默认是引用本项目 :check_mark: 支持自定义是否生成swagger2的注解 :check_mark: 支持自定义是否生成Service层...
**基于Junit的HttpUnit测试** 在软件开发中,单元测试是确保代码质量的重要环节,它可以帮助开发者在早期发现和修复问题,提高软件的稳定性和可靠性。`JUnit` 是一个广泛使用的 Java 测试框架,而 `HttpUnit` 则是...
自定义注解+拦截器实现基于RBAC接口权限校验(配套文档:https://blog.csdn.net/wujiangbo520/article/details/122057616) 全局异常处理 接口统一结果返回 一键生成数据库设计文档 大批量数据插入数据库测试 根据...