`
suhuanzheng7784877
  • 浏览: 694662 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47386
社区版块
存档分类
最新评论

JPA学习笔记-EJB-03JPA主键生成策略总结--2

阅读更多

3:数据库序列Sequence

Oracle这种数据库支持序列生成主键的策略,那么就可以使用JPASequence作为主键的生成策略。代码如下:

    @Id

    @Column(name = "id")

    @GeneratedValue(strategy = GenerationType.SEQUENCE)

    public Integer getId() {

       return id;

    }

MySql暂时不支持序列这种主键策略,所以遇到MySql这种数据库的时候,不能使用SEQUENCE主键策略。

4Identity生成器

       有些数据库支持Identity字段作为生成器,MS SQL支持,主键创建Identity,实体标注如下:

    @Id

    @Column(name = "id")

    @GeneratedValue(strategy=GenerationType.IDENTITY)

    public Integer getId() {

       return id;

    }

 

单字段主键的问题,我们暂时先讨论这里,下面我们一起看看复合主键。

表结构如下图所示:

 

根据这个表对应生成的实体对下代码如下:

 

package eo;

 

import javax.persistence.Column;

import javax.persistence.Embeddable;

 

/**

 * TbStudentsId entity. @author MyEclipse Persistence Tools

 */

@Embeddable

public class TbStudentsId implements java.io.Serializable {

 

    // Fields

 

    private String name;

    private String no;

 

    // Constructors

 

    /** default constructor */

    public TbStudentsId() {

    }

 

    /** full constructor */

    public TbStudentsId(String name, String no) {

       this.name = name;

       this.no = no;

    }

 

    // Property accessors

 

    @Column(name = "name", nullable = false)

    public String getName() {

       return this.name;

    }

 

    public void setName(String name) {

       this.name = name;

    }

 

    @Column(name = "no", nullable = false)

    public String getNo() {

       return this.no;

    }

 

    public void setNo(String no) {

       this.no = no;

    }

 

    public boolean equals(Object other) {

       if ((this == other))

           return true;

       if ((other == null))

           return false;

       if (!(other instanceof TbStudentsId))

           return false;

       TbStudentsId castOther = (TbStudentsId) other;

 

       return ((this.getName() == castOther.getName()) || (this.getName() != null

              && castOther.getName() != null && this.getName().equals(

              castOther.getName())))

              && ((this.getNo() == castOther.getNo()) || (this.getNo() != null

                     && castOther.getNo() != null && this.getNo().equals(

                     castOther.getNo())));

    }

 

    public int hashCode() {

       int result = 17;

 

       result = 37 * result

              + (getName() == null ? 0 : this.getName().hashCode());

       result = 37 * result + (getNo() == null ? 0 : this.getNo().hashCode());

       return result;

    }

}

 

 

  • 大小: 28.8 KB
分享到:
评论

相关推荐

    JPA学习笔记-EJB-04JPA关联映射总结

    JPA学习笔记-EJB-04JPA关联映射总结 JPA JPA关联映射JPA学习笔记-EJB-04JPA关联映射总结 JPA JPA关联映射

    JPA学习笔记-EJB-03JPA主键生成策略总结

    总结一下关于JPA的主键生成策略,JPA是用@GeneratedValue标记来注释的。一般的我把主键生成分成两大类。第一个就是简单的单字段主键类型,一个就是复杂的复合主键类型。我们分2种情况分别讨论。 第一种单字段主键...

    JPA学习笔记-EJB-06JPA+Spring使用经验

    JPA学习笔记-EJB-06JPA+Spring使用经验。

    JPA学习笔记-EJB-02JPA属性注解

    上次简单介绍了JPA的基本部署和操作过程,算是认识JPA了,下面我们继续学习JPA吧,我们从JPA的注解标记@Table和@Column开始逐渐介绍。

    JPA学习笔记-EJB-01JPA初体验

    本文是学习 JPA 笔记,可能会根据自己的学习进度逐渐完善。...随着笔者的学习笔记,大家一起学习吧,还是那句话,有什么问题 大家一起探讨。有什么错误希望指证!谢谢。 http://blog.csdn.net/suhuanzheng7784877

    JPA学习笔记-EJB-05JPA实体对象状态和实体对象的高级操作

    虽然持久化实体的状态在ORM中是一个老生常谈的问题,但是说实在的,我们在开发过程中真的不太在意实体的状态。在Web一般情况下也都是交给Spring去管理实体管理器(EntityManager),所以我们还是有必要啰嗦一下,...

    EJB学习笔记.doc

    以下是 EJB 学习笔记的知识点总结: 一、EJB 概述 * EJB 定义:EJB 是一种企业级 Java 组件模型,用于开发大型企业级应用程序。 * EJB 的特点:EJB 是基于 Java 语言的、开发、部署服务器端的分布式组件,遵循标准...

    Java/JavaEE 学习笔记

    Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...

    J2EE学习笔记(J2ee初学者必备手册)

    EJB学习笔记..................314 EJB前言................314 EJB2.0.....315 第一章 EJB介绍 .315 JavaEE@xuxiang 5 Java/JavaEE学习笔记Jonny xuxiang5612@sina.com 第二章 First EJB....318 第三章 EJB原理.320...

    Java JDBC由浅入深

    当今orm等全自动针对对象持久化的框架越来越多并且也越来越成熟(ibatis,hibernate,ejb的jpa),但是无奈新东家需要使用jdbc(原始手工作坊)的模式和数据库打交道,用了几年的ibatis,再次使用jdbc发现有些细节和...

    Java JDBC由浅入深.pdf

    当今 orm 等全自动针对对象持久化的框架越来越...分清楚,所以就啰理啰嗦的整理出一份学习笔记,第一作为自己对 jdbc 重新的复习, 第二如果有可能希望给初学 jdbc 的朋友带来一定的便利,这样也不枉我点点滴滴的记 录

Global site tag (gtag.js) - Google Analytics