29.3.1. 实体类
通常,JPA实体类被定义到一个persistence.xml文件,在Spring Boot中,这个文件被’实体扫描’取代。默认情况,Spring Boot会查找主配置类(被@EnableAutoConfiguration或@SpringBootApplication注解的类)下的所有包。
任何被@Entity,@Embeddable或@MappedSuperclass注解的类都将被考虑,一个普通的实体类看起来像这样:
package com.example.myapp.domain;import java.io.Serializable;import javax.persistence.*;@Entitypublic class City implements Serializable {@Id@GeneratedValueprivate Long id;@Column(nullable = false)private String name;@Column(nullable = false)private String state;// ... additional members, often include @OneToMany mappingsprotected 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”。
