JPA支持注解和XML两种实体映射方式,注解通过@Entity、@Table、@Id等直接在类中配置,优点是直观高效,缺点是耦合度高;XML通过orm.xml文件定义映射,实现配置与代码分离,适合动态调整但维护成本高;实际开发中注解更常用,XML用于特殊场景,两者可共存且XML会覆盖注解。

JPA(Java Persistence API)支持两种主要的实体映射配置方式:XML配置文件和注解。这两种方式都可以用来定义Java类与数据库表之间的映射关系,开发者可以根据项目需求选择其中一种或混合使用。
注解配置
注解是目前最常用的JPA配置方式,直接在Java实体类中使用注解来描述映射信息,使代码更直观、简洁。
@Entity:标记一个类为JPA实体,对应数据库的一张表。@Table:指定实体类映射的表名、schema等。
@Id:标识主键字段。
@GeneratedValue:定义主键生成策略。
@Column:配置属性对应的字段名、长度、是否为空等。
@ManyToOne, @OneToMany 等:配置实体间的关联关系。
优点是配置紧随代码,开发效率高,易于维护;缺点是将持久化逻辑耦合到类中,灵活性较低。
XML配置
通过编写persistence.xml以及额外的ORM XML映射文件(如orm.xml)来定义实体与数据库的映射关系,完全将配置与代码分离。
本文档主要讲述的是mybatis语法和介绍;MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。感兴趣的朋友可
根元素定义多个实体映射。标签对应一个实体类,设置class、table等属性。中定义主键、普通字段和关联关系,如、、等。
优点是不侵入代码,适合需要动态调整映射或无法修改源码的场景;缺点是配置分散,维护成本较高,容易出错且缺乏编译时检查。
基本上就这些,实际开发中注解更常见,XML多用于特殊需求或遗留系统集成。不复杂但容易忽略的是,两者可以共存,XML配置会覆盖注解中的相同设置。









