2015-02-12 02:19:20 +00:00
### 28.3.1. 实体类
传统上, JPA实体类被定义到一个persistence.xml文件中。在Spring Boot中, 这个文件不是必需的, 并被'实体扫描'替代。默认情况下, 在你主( main) 配置类( 被@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
}
```
2015-05-18 09:09:23 +00:00
**注**:你可以使用@EntityScan注解自定义实体扫描路径。具体参考[Section 67.4, “Separate @Entity definitions from Spring configuration”](../IX. ‘ How-to’ guides/67.4. Separate @Entity definitions from Spring configuration.md)。