近日用到了Hibernate JPA 一对多,多对一的功能,一上午时间各种错误不断涌现,现在终于得到解决,现在写下来,以作备忘。
Channel.class 父类
@OneToMany(cascade = { CascadeType.ALL }, mappedBy = "channel") private List<Content> contentList; public List<Content> getContentList() { return contentList; } public void setContentList(List<Content> contentList) { this.contentList = contentList; }
Content.class 子类
@ManyToOne @JoinColumn(name = "channelId", insertable = false, updatable = false) private Channel channel; public Channel getChannel() { return channel; } public void setChannel(Channel channel) { this.channel = channel; }
===================================其它注解的小结==================================
注解的@Id可以放在属性上和get方法上, 建议放在方法上 一般采用jpa的注解, 因为移植性好 了解常用注解 @Entity @Table @GeneratedValue 默认情况下会采用auto生成方式 如果要采用uuid的生成方式,由于jpa注解不支持此种方法,则要用hibernate的注解联合起来使用 具体的用法如下: @GenericGenerator(name="idGenerator", strategy="uuid") //这个是hibernate的注解 @GeneratedValue(generator="idGenerator") //使用uuid的生成策略 对于普通属性的注解 @Column(name="username", nullable=false, unique=true, length=30) 不为空, 唯一, 长度30 对于不想进行持久化的属性的注解 @Transient hibernate JPA多对一关联映射 采用@ManyToOne来映射多对一 关于关联对象在表中的维护, JPA采用关联对象+ "_" + "id"方式作为字段加入表中. 一对多关联映射 mappedBy在那一端, 那一端就不维护关系 相当于hibernate中的inverse=true 采用@OneToMany 了解mappedBy属性 JoinColumn属性 TargetEntity属性 采用manyToMany映射 采用@JoinTable指定第三方表
相关推荐
在本主题中,我们将深入探讨使用Hibernate注解来实现JPA的一对多、多对多和多对一的关系映射。 1. **一对多关系**: 在现实世界中,一个老师可以教多个学生,或者一个班级可以包含多个学生,这就是典型的一对多...
**Spring Data JPA** 是一个基于 **Java** 的开源框架,它是 **Spring Framework** 的一个模块,主要用于简化 **Java Persistence API (JPA)** 的使用。JPA 是 Java 平台上的一个标准,用于管理和持久化应用程序的...
Spring Data JPA API。 Spring Data JPA 开发文档。 官网 Spring Data JPA API。
Spring JPA,全称为Spring Data JPA,是Spring框架的一部分,专门用于简化Java持久层的开发。它提供了一个抽象层,让开发者可以使用简洁、声明式的编程方式来操作数据库,而无需关注底层的JDBC或者ORM(对象关系映射...
Spring Data JPA则是在JPA之上构建的一层抽象,它扩展了JPA的功能,提供了更多的便利。例如,Spring Data JPA支持自动化的查询生成,只需定义Repository接口,无需编写任何实现代码,就可以执行CRUD(创建、读取、...
在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+SpringMVC+SpringJPA+Hibernate"的组合就是一个常见的解决方案。这个组合提供了全面的开发工具和技术,帮助开发者快速构建基于Java的Web应用程序。...
Spring框架的核心特性包括依赖注入(DI)和面向切面编程(AOP),并且它还提供了对数据库操作的支持,这主要通过Spring Data JPA和Java Persistence API(JPA)实现。 Spring注解是Spring框架中的一大特色,它极大...
本实例探讨的是如何在Spring环境中整合Spring MVC、Spring Data JPA以及使用Freemarker或JSON作为多视图配置。让我们深入理解这些技术及其相互作用。 首先,Spring MVC是Spring框架的一部分,专门用于构建Web应用...
- "spring-framework-2.5.zip"和"JpaManytoMany.zip"可能包含Spring 2.5版本的资料和多对多关联的JPA示例。 了解并熟练掌握这些知识点,将有助于开发人员更高效地构建基于Spring JPA的数据库驱动应用,同时也能更...
在现代的Java开发中,Spring框架与JPA(Java Persistence API)的结合使用已经成为了一个常见的实践,它简化了数据库操作,提供了对象关系映射(ORM)的功能。JPA是Java EE的一部分,允许开发者以面向对象的方式处理...
- 在处理多对一、一对多、多对多等复杂关联关系时,可能会出现懒加载(LazyInitializationException)问题。为了避免这种情况,开发者需要合理设置fetch策略,比如选择eager loading或使用`@Transactional`注解确保...
6. **项目结构**:一个典型的Struts2+Spring+JPA项目会包含以下几个主要部分:Web-INF下的`web.xml`和`struts.xml`,`src/main/resources`下的`applicationContext.xml`和`persistence.xml`,以及`src/main/java`下...
Spring Data JPA是Spring框架的一个模块,提供了对JPA的高级支持,包括自动配置、查询生成和仓库抽象层,使得数据库操作更加便捷。 Spring Security是一个功能强大的安全框架,用于保护基于Spring的应用程序。它...
关联关系是数据库设计的重要组成部分,JPA提供了多种关联类型:一对一(@OneToOne)、一对多(@OneToMany)、多对一(@ManyToOne)和多对多(@ManyToMany)。这些关联可以通过`@JoinColumn`或`@JoinTable`注解进行...
Spring Data JPA 是 Spring Data 项目的一部分,它提供了对 Java Persistence API (JPA) 的增强支持,使得数据访问更加简单。 ##### 1. 添加依赖 在 `pom.xml` 中添加 Spring Data JPA 和 MySQL 驱动的依赖: ```...
JPA Annotation Reference
在Spring中,我们通常使用Spring Data JPA扩展,它提供了更多的便利功能,如自动查询生成、repository抽象等。要开始使用Spring JPA,我们需要以下步骤: 1. **配置JPA**:在`application.properties`或`...
总结来说,Spring Boot + JPA 的多数据源配置需要对Spring的配置机制有深入理解,包括自动配置、bean的创建、数据源的切换等。同时,合理组织实体类和数据库访问层,确保代码的可维护性和扩展性。这个名为`...
Spring Data JPA是Spring框架的一个模块,专门用于简化Java持久层的开发,它提供了一种声明式的方式来处理数据访问,极大地减少了我们编写DAO层代码的工作量。本篇将深入探讨Spring Data JPA与Struts2、Spring框架的...