2015-09-25 78 views
0

傳統上,JPA'實體'類是在persistence.xml文件中指定的。使用Spring Boot此文件不是必需的,而是使用「實體掃描」Spring引導數據實體

@Entity 
public class Hotel implements Serializable { 

private static final long serialVersionUID = 1L; 

@Id 
@GeneratedValue 
private Long id; 

@ManyToOne(optional = false) 
@NaturalId 
private City city; 

@Column(nullable = false) 
@NaturalId 
private String name; 

@Column(nullable = false) 
private String address; 

@Column(nullable = false) 
private String zip; 

@OneToMany(fetch = FetchType.LAZY, mappedBy = "hotel") 
private Set<Review> reviews; 

protected Hotel() { 
} 

public Hotel(City city, String name) { 
    this.city = city; 
    this.name = name; 
} 

public City getCity() { 
    return this.city; 
} 

public String getName() { 
    return this.name; 
} 

public String getAddress() { 
    return this.address; 
} 

public String getZip() { 
    return this.zip; 
} 
} 

如何通過工具創建spring引導實體?我不想寫實體手冊。

+0

您可以使用項目Lombok的'@ Getter'和'@ Setter'(以及更多功能)釋放相當多的代碼https://projectlombok.org/features/GetterSetter.html – CollinD

+0

沒有這樣的事情a * Spring Boot Entity *它只是一個普通的JPA實體,與其他任何其他實體一樣......傳統上,您不必在persistence.xml中指定實體,也可以使用JPA掃描它們(這也是彈簧在配置時使用的內容一個EntityManager)。因此,Spring(Boot)所做的一切默認都已經存在(但使其更容易)。 –

回答

0

爲了做到這一點,你可以實現你的自定義符號,我不認爲這是最好的做法,利用annotaion @NotNull一樣建立一個JSONObject如果你

2

首先,我們並不需要這種解決方案談論Spring實體。但是我們創建了Java持久性API模型;註釋POJO。在此處進一步閱讀:http://www.oracle.com/technetwork/articles/java/jpa-137156.html

如果要從數據庫或數據庫ERM創建實體,可以使用Eclipse Spring Tool Suite(STS)爲您完成作業。

Spring STS在Eclipse JPA透視圖中包含一個「ENTITY FROM TABLE Wizard」。這是一個很棒的工具,你可以從DB生成大量的實體。

  1. 轉到Eclipse的STS - >窗口 - >視角 - >打開透視圖 - > JPA (如果你不找directely搜索該)

  2. 創建數據庫連接,如果你不已經一個;做到這一點 Eclipse - >窗口 - >顯示視圖 - >數據源瀏覽器 然後去那裏添加一個新的連接。

  3. 現在你可以在你的項目中選擇(或創建一個新的JPA項目),並用文件去 - >新建 - > JPA從表(或ORM,如果你有一個:))

畢竟你會看到創建完整的POJO註釋類所需的一切。該工具將節省您所有的一天:)

創建完成後,請查看所選項目的生成包中的類並修改任何內容以滿足您的需求。有時候發電機做了很多我們不需要的東西,所以要注意這一點。