1.使用注解的方式对数据进行插入
a.引入所需的jar包
b.在实体类中使用@Entity标明此类为实体类,并用@Id在为键值的属性的getXX()
上标明,并在hibernate配置文件中添加映射,格式如下
<mapping class="xxx.xxx.xxx.实体类名"/>
c.注意在启动Hibernate的时候,要用AnnotationConfiguration
1.联合主键
a.当一个实体类中要有2个或多个主键时,可以采用以下方法
将所有主键封装成一个主键类,生成相应方法,实现Serializable接口,重写其
equals方法和hashCode方法,实现序列化接口的目的是可以使对象通过网络传输到另一台机器上,或从内存加载到虚拟内存上,并在映射文件中做如下处理
<composite-id name="pk" class="StudentPK">
<key-property name="id"><columnname="_id"></column></key-property>
<key-property name="name"><column name="_name"></column></key-property>
</composite-id>
b.当用注解方式时,把主键类注解为@Embeddable,并将主键类属性注解为@Id
c.也可以只将主键属性注解为@EmbeddedId
d.还可以将主键封装成一个主键类,但是不必添加注解,而是用
@IdClass(主键类.class)对象实体类进行注解,并对所有的主键属性用@Id进行注解
2.id自动生成策略
xml生成id
a.generator 常用四个:native,identity.sequence.uuid
b.@GeneratedValue
默认是AUTO,还可以用sequenceGenerator(name="A", sequenceName="xxx")对
实体类进行注解,并对主键用
@GeneratedValu(strategy=GenerationType.IDENTITY,generator="A")
c.还可以用@TABLE进行策略生成,但用得少