Hibernate中实体类编写规则
- 实体类中的属性需要同时提供get与set方法
- 实体类中的属性需要有与之对应的成员变量
- 与属性对应的成员变量必须都定义为private
- 实体类中必须提供一个属性具有惟一值:一般使用id属性即可
- 实体类属性对应的成员变量的类型不建议使用基本类型:使用基本类型的包装类型:例如如果使用int score来表示学生的分数的话,score=0只能表示学生的分数为0,不知道学生是否参加了考试;如果使用Integer score来表示学生的分数的话,score=0就能明确表示分数为0;而score=null就能明确表示学生没有参数考试
Hibernate主键生成策略
- Hibernate要求实体类中必须有一个属性具有惟一值,对应表中的主键:表中的主键可以有不同的生成策略
<hibernate-mapping>
<class name="com.ycom.hibernate.entity.User" table="t_user">
<id name="uid" column="uid">
<generator class="native"></generator>
</id>
<property name="username" column="username"></property>
<property name="password" column="password"></property>
<property name="address" column="address"></property>
</class>
</hibernate-mapping>
主键生成策略:increment
主键生成策略:identity
主键生成策略:sequence
- MySQL数据库也支持sequence策略
主键生成策略:native
- 在MySQL中的native策略等同于identity策略
主键生成策略:uuid
- 要求表的主键类型与实体类中唯一属性的类型必须是字符串
主键生成策略:assigned
对实体类进行简单的CRUD操作
package com.ycom.hibernate.entity;
public class User {
private int uid;
private String username;
private String password;
private String address;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public