2013-01-19 47 views
0

我有一個客戶端插入用java冬眠

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Basic(optional = false) 
@Column(name = "cl_id") 
private Long clId; 

@JoinColumn(name = "vl_id", referencedColumnName = "vl_id") 
@ManyToOne 
private City cityId; 

每當我創建一個新的客戶這樣說:

Client c = new Client(); 
c.setCityId(new City()); 

,堅持它。如果不存在,這座城市也不會堅持。 除非城市對象有身份證明,否則這座城市是否還會堅持?

+0

最後兩個語句似乎相互矛盾。你能多解釋一下嗎? – Nivas

+0

這只是一個有名字的變量。 SetCityId()以城市爲參數。它可以採取一個已經堅持的城市或新的城市。 – Majid

回答

2

您必須啓用cascading

@JoinColumn(name = "vl_id", referencedColumnName = "vl_id") 
@ManyToOne(cascade=CascadeType.PERSIST) 
private City cityId; 
+0

這工作得很好。謝謝 – Majid