版權(quán)聲明:本文來(lái)自 Crocutax 的博客 , 轉(zhuǎn)載請(qǐng)注明出處 http://www.crocutax.com
生成步驟
在Idea中,通過(guò)Persistence工具可以將Mysql中已經(jīng)創(chuàng)建好的數(shù)據(jù)表一鍵生成POJO,這樣可以很方便的進(jìn)行Hibernate的數(shù)據(jù)映射号醉,加快開(kāi)發(fā)進(jìn)度妒御。
首先悲立,在Idea右側(cè)側(cè)邊欄中农猬,有Database 選項(xiàng)卡闸迷,選擇對(duì)應(yīng)的數(shù)據(jù)庫(kù)教沾,在這里進(jìn)行數(shù)據(jù)庫(kù)關(guān)聯(lián)沾瓦。
然后在File --> Project Structure --> Modules --> {your modulename}
中添加Hibernate選項(xiàng),標(biāo)記此Module為一個(gè)Hibernate項(xiàng)目准谚。
之后在Idea左側(cè)邊欄就會(huì)出現(xiàn)Persistence選項(xiàng)卡(如果沒(méi)有顯示挫剑,可以在View--> Tool Windows --> Persistence 中找到)
在選項(xiàng)卡中右鍵選擇Assign Data Sources
選擇數(shù)據(jù)來(lái)源
在彈出的對(duì)話(huà)框中,選擇Data Source柱衔,這里直接定位到了已關(guān)聯(lián)的數(shù)據(jù)庫(kù)樊破。
指定完完Entities數(shù)據(jù)源之后,就可以選擇生成POJO了
在彈出的對(duì)話(huà)框中進(jìn)行配置唆铐,指定POJO的輸出路徑哲戚,配置前綴、后綴名艾岂,選擇是注解還是XML方式進(jìn)行映射等等
OK完事顺少,自動(dòng)生成的POJO長(zhǎng)這樣
@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;
}
}
常見(jiàn)問(wèn)題
- 如果數(shù)據(jù)庫(kù)表結(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ù)源即可脆炎。