在我的实体员工中,我有嵌入式ID EmployeeId 包含2个长属性。我希望两个属性都生成自动增量ID。我怎样才能实现它。
员工实体
@Entity
@Table(name="emp")
public class Employee {
@EmbeddedId
private EmployeeId id;
@Column(name="Emp Name")
private String name;
//Getters and Setters
EmployeeId实体
@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放在Getter上以使其正常工作,但它没有帮助。
配置。
<hibernate-configuration>
<session-factory>
//properties
<mapping class="com.hibernate.model.Employee"/>
<mapping class="com.hibernate.model.EmployeeId"/>
</session-factory>
</hibernate-configuration>
答案 0 :(得分:0)
只需将下面的代码放在您想要的列之前。
[DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)]