2017-01-17 78 views
0

在我的實體僱員我有嵌入ID EmployeeId包含2個長屬性。我希望這兩個屬性都能生成自動增量ID。我該如何實現它。如何獲取嵌入式ID實體的自動生成ID

僱員實體

@Entity 
@Table(name="emp") 
public class Employee { 

@EmbeddedId 
private EmployeeId id; 

@Column(name="Emp Name") 
private String name; 
//Getters and Setters 

僱員實體

@Embeddable 
public class EmployeeId implements Serializable{ 

private static final long serialVersionUID = 1L; 

@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
@Column(name="Emp Id") 
private long id; 

@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
@Column(name="Branch Name") 
private long branchName; 
//Getters and Setters 

我也試圖把@Id上吸氣劑得到它的工作,但它並不能幫助。

Config。

<hibernate-configuration> 

<session-factory> 
//properties 
<mapping class="com.hibernate.model.Employee"/> 
<mapping class="com.hibernate.model.EmployeeId"/> 
</session-factory> 

</hibernate-configuration> 

回答

0

只要在您想要的列之前的代碼下面。

[DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)] 
+0

請提供正確的代碼,以便其他人可以很容易地得到它,並有適當的解釋。 –

+0

@HarshKanakhara你只需要將這些列作爲標識。將上面的代碼放在實體的屬性之前。上面提到的代碼是用C#編寫的。 – Pavvy

+0

你想說在列上使用Hibernate Generated annotation嗎? –