首页 > PHP资讯 > JAVA培训 > 浅谈定制Hibernate映射

浅谈定制Hibernate映射

JAVA培训

在向大家详细介绍定制Hibernate映射之前,首先让大家了解下Hibernate自动生成主键,然后全面介绍定制Hibernate映射。

Hibernate 能够出色地自动生成主键。Hibernate/EBJ 3 注释也可以为主键的自动生成提供丰富的支持,允许实现各种策略。下面的示例说明了一种常用的方法,其中Hibernate将会根据底层数据库来确定一种恰当的键生成策略:


public Long getId() {  
return id;  
}  

定制Hibernate映射

默认情况下,Hibernate会将持久类以匹配的名称映射到表和字段中。例如,前一个类可以与映射到以如下代码创建的表中:


CREATE TABLE MODELPLANE   
(  
ID long,  
NAME varchar  
) 

如果您是自己生成并维护数据库,那么这种方法很有效,通过省略代码可以大大简化代码维护。然而,这并不能满足所有人的需求。有些应用程序需要访问外部数据库,而另一些可能需要遵从公司的数据库命名惯例。如果有必要,您可以使用 @Table 和 @Column 注释来定制您自己的持久性映射,如下所示:


public class ModelPlane {  
private Long id;  
private String name;  
@Id  
@Column(name="PLANE_ID")  
public Long getId() {  
return id;  
}  
public void setId(Long id) {  
this.id = id;  
}  
@Column(name="PLANE_NAME")   
public String getName() {  
return name;  
}  
public void setName(String name) {  
this.name = name;  
}  
}  

该内容将映射到下表中:


CREATE TABLE T_MODEL_PLANE   
(  
PLANE_ID long,  
PLANE_NAME varchar  
)  

也可以使用其他图和列的属性来定制Hibernate映射。这使您可以指定诸如列长度、非空约束等详细内容。Hibernate支持大量针对这些注释的属性。下例中就包含了几种属性:


...  
@Column(name="PLANE_ID", length=80, nullable=true)  
public String getName() {  
return name;  
}  
...  

常州java培训机构) 

本文由欣才IT学院整理发布,未经许可,禁止转载。