实体Bean代码:
@Entity
@Table(name="tbl_user")
publicclass User implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private Integer id;
@Column(name="name")
private String name;
@Column(name="age")
private String age;
public String getAge() { returnage; }
publicvoid setAge(String age) { this.age = age; }
public String getName() { returnname; }
publicvoid setName(String name) { this.name = name; }
public User() { }
public Integer getId() { returnthis.id; }
publicvoid setId(Integer id) { this.id = id; }
}
@Id //表明数据库的主列值(主键)
@GeneratedValue(strategy = GenerationType.AUTO)//表明主键的生成策略,通过strategy 属性进行指定。默认情况下jpa底层会选择一个最适合数据库的主键生成策略,如果是SqlServer对应identity,MySQL 对应 auto increment。
@Column(name=“id”) 对应数据库表中的字段名
在javax.persistence.GenerationType中定义了以下几种可供选择的策略:
–IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式;
–AUTO: JPA自动选择合适的策略,是默认选项;
–SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式
–TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。
本文详细介绍了Java持久化API (JPA) 中实体Bean的定义方法及注解使用,包括@Id、@GeneratedValue、@Column等,并解释了不同主键生成策略如IDENTITY、AUTO、SEQUENCE和TABLE的应用场景。
1191

被折叠的 条评论
为什么被折叠?



