多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 29.3.1. 实体类 通常,JPA实体类被定义到一个`persistence.xml`文件,在Spring Boot中,这个文件被'实体扫描'取代。默认情况,Spring Boot会查找主配置类(被`@EnableAutoConfiguration`或`@SpringBootApplication`注解的类)下的所有包。 任何被`@Entity`,`@Embeddable`或`@MappedSuperclass`注解的类都将被考虑,一个普通的实体类看起来像这样: ```java package com.example.myapp.domain; import java.io.Serializable; import javax.persistence.*; @Entity public class City implements Serializable { @Id @GeneratedValue private Long id; @Column(nullable = false) private String name; @Column(nullable = false) private String state; // ... additional members, often include @OneToMany mappings protected City() { // no-args constructor required by JPA spec // this one is protected since it shouldn't be used directly } public City(String name, String state) { this.name = name; this.country = country; } public String getName() { return this.name; } public String getState() { return this.state; } // ... etc } ``` **注** 你可以使用`@EntityScan`注解自定义实体扫描路径,具体参考[Section 74.4, “Separate @Entity definitions from Spring configuration”](../IX. ‘How-to’ guides/74.4. Separate @Entity definitions from Spring configuration.md)。