📅  最后修改于: 2023-12-03 15:20:13.120000             🧑  作者: Mango
在Spring Data JPA中,@Id注解是非常重要的一个注解,它用于标识实体类的主键属性。
主键是用于唯一标识实体类的一个属性。它可以是一个仅仅包含简单类型的属性,也可以是一个复合属性。在JPA中,每个实体类都必须有一个主键。
@Id注解可以在实体类中的任何属性上使用,用于标识它是主键属性。例如,下面的代码演示了如何在一个简单实体类中使用@Id注解:
@Entity
public class User {
@Id
private Long id;
private String name;
private Integer age;
// getters and setters
}
在上面的代码中,我们将"id"属性标记为主键属性。一旦我们使用了@Id注解,JPA将会自动将这个属性映射为数据库表的主键列。
注:主键可以是任何类型,不一定是Long类型。
如果您想使用复合主键,可以将@Id注解放置在属性的getter方法上,而不是属性上。例如:
@Entity
public class Order {
@EmbeddedId
private OrderId id;
// other fields and getters/setters
}
@Embeddable
public class OrderId implements Serializable {
private Long customerId;
private Long orderNumber;
// getters/setters and equals/hashcode
}
在上面的代码中,我们使用了一个嵌入式的复合主键。我们创建了一个名为OrderId的嵌入类型,并将其作为Order实体类的主键属性使用。
@Id注解是Spring Data JPA中非常重要的一个注解,它用于将实体类的属性映射为数据库表的主键列。如果你想使用复合主键,你需要使用@EmbeddedId注解和嵌入对象类型。