Update 28.3.1. Entity Classes.md
parent
5bd1ed6f37
commit
1ef21c4767
|
@ -0,0 +1,47 @@
|
||||||
|
### 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
|
||||||
|
}
|
||||||
|
```
|
||||||
|
**注**:你可以使用@EntityScan注解自定义实体扫描路径。具体参考[Section 67.4, “Separate @Entity definitions from Spring configuration”](http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-separate-entity-definitions-from-spring-configuration)。
|
Loading…
Reference in New Issue