`
phyeas
  • 浏览: 164270 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

jpa实现表自连

JPA 
阅读更多
表自连实际上就是one to one的关系。比如书籍类型。类型有父类型。那父类型如何表示呢。在java中应当这样写:
<!---->public class BookType  {
    
private Long id;
    
private String name;
    
    
private BookType parent;
        
//getter && setter
}
但如果这个是一个JPA类就出问题了。因为parent没有写注释。在jpa自动创建表是会认为这是一个字节类型的。所以还应该为parent些上一个注释。既然是自连。应该写@OneToOne
这里就要注意了。OneToOne不能写其他属性,比如不能这样写
<!---->@OneToOne(targetClass=BookType.class)
这样的话在系统自动生成数据表时会报错。也不能加 @JoinColumn。唯一的办法就是只要@OneToOne。其他什么都不写。这样就不会报错了。
代码如下:
<!---->public class BookType  {
    
private Long id;
    
private String name;
    
    @OneToOne
    
private BookType parent;
        
//getter && setter
}

另外:如果想不让某个属性不被转换成数据库字段。需要在此属性的getter方法上加@Transient注释。比如BookType的fullName属性。
例子:
<!---->    /**
     * 获取包括父节点名称的全部路径
     * 
@return
     
*/
    @Transient
    
public String getFullName(){
        StringBuffer buffer
=new StringBuffer("");
        
if(parent!=null){
            buffer.append(parent.getFullName());
            buffer.append(
"-");
        }
        buffer.append(name);
        
return buffer.toString();
    }
分享到:
评论

相关推荐

    SpringBoot整合JPA实现自动创建数据库表自动建表,JPA逆向生成数据库表.zip

    SpringBoot整合JPA实现自动创建数据库表自动建表,JPA逆向生成数据库表 运行环境 jdk8+tomcat9+mysql+IntelliJ IDEA+maven 项目技术(必填) springboot+jpa 数据库文件(可选) 新建一个test的数据库即可,表在...

    jpa单表递归树形结构实现

    在本示例中,我们将探讨如何使用Spring JPA来实现单表递归树形结构。 首先,我们需要理解递归树形结构。在数据库中,树形结构通常通过自关联来表示,即一个表的某个字段引用该表自身,形成一个层级关系。对于单表...

    毕业设计-SpringBoot整合JPA实现自动创建数据库表自动建表,JPA逆向生成数据库表项目源码.zip

    SpringBoot整合JPA实现自动创建数据库表自动建表,JPA逆向生成数据库表 运行环境 jdk8+tomcat9+mysql+IntelliJ IDEA+maven 项目技术(必填) springboot+jpa 数据库文件(可选) 新建一个test的数据库即可,表在...

    springboot集成jpa代码,自动生成表

    下面我们将深入探讨Spring Boot集成JPA实现数据库表自动生成的过程。 1. **添加依赖** 首先,我们需要在`pom.xml`或`build.gradle`文件中引入Spring Boot的JPA和相关数据库驱动依赖。例如,如果使用的是MySQL,...

    springboot结合jpa实现分页,动态多条件查询

    然后,创建一个继承自`JpaRepository`的接口,用于定义数据库操作。在这里,我们可以添加分页和动态查询的方法: ```java public interface UserRepository extends JpaRepository, Long&gt; { Page&lt;User&gt; findAll...

    Maven+SpringBoot+JPA单表增删改查实例

    本项目选择了"Maven+SpringBoot+JPA"这一技术栈,旨在提供一个简单的单表操作示例,帮助开发者快速理解如何在Spring Boot环境下使用Maven构建项目,并通过Spring Data JPA实现数据的增删改查功能。 首先,让我们...

    JPA 实现继承关系

    本篇文章将深入探讨如何在JPA中实现继承关系,这对于构建可扩展且结构化的数据模型至关重要。 在Java中,继承是面向对象编程的一个核心概念,允许一个类(子类)继承另一个类(父类)的属性和方法。在JPA中,继承...

    jpa实现数据库操作

    以上内容涵盖了JPA实现数据库操作的基础知识,随着项目的深入,你可能需要学习更多关于Spring与JPA集成的内容,包括Spring Boot、Spring Data JPA、事务管理、分页查询、自定义查询方法等,这些都是构建高效、可维护...

    jpa代码自动生成工具-springboot

    本文将深入探讨如何使用JPA和Spring Boot结合,实现代码自动生成工具,提高开发效率。 首先,让我们了解JPA。JPA通过提供一套标准API,使得开发者无需关注底层SQL语句,而是通过定义实体类、注解以及Repository接口...

    基于springboot+jpa实现java后台api接口,点餐系统.zip

    基于springboot+jpa实现java后台api接口,点餐系统 基于springboot+jpa实现java后台api接口,点餐系统 基于springboot+jpa实现java后台api接口,点餐系统 基于springboot+jpa实现java后台api接口,点餐系统 基于...

    jpa例子jpajpa

    OpenJPA是JPA的一个开源实现,它提供了完整的JPA功能,包括持久化、查询、事务管理等。你可以通过阅读源代码来深入理解JPA的工作原理,以及OpenJPA是如何实现这些功能的。 学习和掌握JPA对于开发Java企业级应用至关...

    Spring JPA 项目简单实现

    4. **Repository接口**:定义一个接口,继承自`JpaRepository, Long&gt;`。这个接口提供了基本的CRUD(创建、读取、更新、删除)操作。例如,可以定义一个`findAll()`方法来获取所有学生信息。 5. **Service层**:创建...

    JPA图书管理(连接数据库)

    1. **实体(Entity)**: 在JPA中,实体是Java类,它代表数据库中的表。这些类需要使用`@Entity`注解,并且通常有一个对应的主键字段,用`@Id`注解标记。 2. **实体管理器(EntityManager)**: 这是JPA的核心组件,...

    JPA规范实现与总结

    1. **可移植性**:由于JPA是基于标准API构建的,因此可以在不同的JPA实现之间轻松迁移,无需修改业务代码。 2. **简化开发**:通过使用注解,JPA简化了数据库交互代码的编写,开发者可以专注于业务逻辑而非数据访问...

    jpa入门案例:单表查询,包括分页查询 使用springboot来整合实现

    在本案例中,我们将探讨如何使用SpringBoot集成JPA实现单表查询和分页查询。首先,我们需要在SpringBoot的`pom.xml`文件中引入JPA和Spring Data JPA的相关依赖。Spring Data JPA是Spring对JPA的扩展,提供了更高级的...

    基于Thymeleaf+SpringBoot+SpringDataJPA实现的的中小医院信息管理系统

    本系统是基于Thymeleaf+SpringBoot+SpringDataJPA实现的的中小医院信息管理系统。简单实现了挂号收费,门诊管理,划价收费,药房取药,体检管理,药房管理,系统维护等基础功能。就诊卡提供了手动和读卡两种方式录入...

    SpringBoot + SpringSecurity + JPA 实现用户角色权限登录认证

    3. **JPA**:Java Persistence API是Java平台上的ORM(对象关系映射)规范,它允许开发者以面向对象的方式操作数据库,将数据对象与数据库表进行映射。JPA通过提供统一的API,可以方便地与不同的持久化提供商(如...

    struts + jpa 实现 网络书城

    JPA则在数据层发挥作用,它允许开发者将Java对象直接映射到数据库表,避免了编写大量的SQL语句。在书城应用中,JPA可以用来管理书籍、作者、分类等实体类,它们对应于数据库中的记录。开发者可以使用注解(如@Entity...

    基于JPA及ASM9实现自动接口开发

    实现JPA基本数据库操作功能封装 实现基于ASM9,动态生成entity、repository、service、serviceImpl、controller相关.class 可根据库表,一键生成新增、修改删除、查询等接口 实现部分基于mybatis-plus,动态代码生成...

    jpa实现分页.txt

    jpa实现分页

Global site tag (gtag.js) - Google Analytics