版權(quán)聲明:本文來自 Crocutax 的博客 , 轉(zhuǎn)載請注明出處 http://www.crocutax.com
生成步驟
在Idea中,通過Persistence工具可以將Mysql中已經(jīng)創(chuàng)建好的數(shù)據(jù)表一鍵生成POJO,這樣可以很方便的進(jìn)行Hibernate的數(shù)據(jù)映射,加快開發(fā)進(jìn)度。
首先,在Idea右側(cè)側(cè)邊欄中,有Database 選項(xiàng)卡,選擇對應(yīng)的數(shù)據(jù)庫,在這里進(jìn)行數(shù)據(jù)庫關(guān)聯(lián)。

然后在File --> Project Structure --> Modules --> {your modulename} 中添加Hibernate選項(xiàng),標(biāo)記此Module為一個Hibernate項(xiàng)目。

之后在Idea左側(cè)邊欄就會出現(xiàn)Persistence選項(xiàng)卡(如果沒有顯示,可以在View--> Tool Windows --> Persistence 中找到)
在選項(xiàng)卡中右鍵選擇Assign Data Sources選擇數(shù)據(jù)來源

在彈出的對話框中,選擇Data Source,這里直接定位到了已關(guān)聯(lián)的數(shù)據(jù)庫。

指定完完Entities數(shù)據(jù)源之后,就可以選擇生成POJO了

在彈出的對話框中進(jìn)行配置,指定POJO的輸出路徑,配置前綴、后綴名,選擇是注解還是XML方式進(jìn)行映射等等

OK完事,自動生成的POJO長這樣
@Entity
@DynamicInsert
@DynamicUpdate
public class User {
private String id;
private String username;
@Id
@Column(name = "id", nullable = false, length = 50)
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Basic
@Column(name = "username", nullable = true, length = 50)
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
常見問題
- 如果數(shù)據(jù)庫表結(jié)構(gòu)發(fā)生了改變,重新生成POJO即可
- 如果POJO中
@Column的屬性出現(xiàn)Cannot resolve column {columnname} This inspection controls whether the Persistence ORM annotations are checked against configured Datasources,直接Alt+Enter選擇Assign Data Sources指定數(shù)據(jù)源即可。