浅谈定制Hibernate映射

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

目前创新互联公司已为成百上千的企业提供了网站建设、域名、虚拟主机绵阳服务器托管、企业网站设计、安徽网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

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

 
 
 
  1. public Long getId() {
  2. return id;
  3. }

定制Hibernate映射

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

 
 
 
  1. CREATE TABLE MODELPLANE 
  2. (
  3. ID long,
  4. NAME varchar
  5. )

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

 
 
 
  1. public class ModelPlane {
  2. private Long id;
  3. private String name;
  4. @Id
  5. @Column(name="PLANE_ID")
  6. public Long getId() {
  7. return id;
  8. }
  9. public void setId(Long id) {
  10. this.id = id;
  11. }
  12. @Column(name="PLANE_NAME") 
  13. public String getName() {
  14. return name;
  15. }
  16. public void setName(String name) {
  17. this.name = name;
  18. }
  19. }

该内容将映射到下表中:

 
 
 
  1. CREATE TABLE T_MODEL_PLANE 
  2. (
  3. PLANE_ID long,
  4. PLANE_NAME varchar
  5. )

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

 
 
 
  1. ...
  2. @Column(name="PLANE_ID", length=80, nullable=true)
  3. public String getName() {
  4. return name;
  5. }
  6. ...

网页题目:浅谈定制Hibernate映射
当前路径:http://www.shufengxianlan.com/qtweb/news12/224812.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联