我有一個類,它映射到一個表使用自動遞增的休眠符號。當我設置值並將其更新到數據庫並且我在表中獲得正確的更新值時,此類正常工作。休眠auto_increment getter/setter
但問題是,當我創建這個類的新對象,並試圖獲得id,它返回一個0而不是auto_incremented id。
類的代碼是
@Entity(name="babies")
public class Baby implements DBHelper{
private int babyID;
@Id
@Column(name="babyID", unique=true, nullable= false)
@GeneratedValue(strategy = GenerationType.AUTO)
public int getBabyID() {
return babyID;
}
public void setBabyID(int babyID) {
this.babyID = babyID;
}
}
我用它來獲得持續的價值是
寶貝寶貝=新寶貝()的代碼; System.out.println(「BABY ID =」+ baby.getBabyID());
這將返回我
BABY ID = 0
任何指針將不勝感激。
謝謝, 薩那。
sheesh!無論如何要解決而不使用SQL來從tbale獲得最大內容? – Sana 2010-10-27 16:09:56
使用標準和預測您可以輕鬆地做到這一點。 DetachedCriteria.forClass(Baby.class)。新增(setProjection(Property.forName( 「babyID」)MAX()); – 2010-10-27 16:43:32