Hibernate笔记(映射持久化类)

Hibernate学习(映射持久化类)

第一个实体类的映射

@Entity
@Table(name = "t_item")
public class Item {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    public Long getId() {
        return id;
    }
}

这是一个最基础的实体类,使用@Entity 注解标记为"可持久化",并且带有一个用于数据库标识符属性@Id映射.@Table 注解重写JPA 默认表名为"t_item"

配置键生成器

当保存实体实例时,通常你会希望系统生成一个主键值,因此你会在@Id旁边编写@GeneratedValue注解,JPA使用javax.persistence.GenerationType枚举标准化集中值生成策略,可以使用@GeneratedValue(strategy =...)进行选择:

  1. GenerationType.AUTO Hibernate会选择一种合适的策略,询问你已配置数据库的那种SQL方言是最佳的,默认值.
  2. GenerationType.SEQUENCE HIbernate 预期(并且会创建,如果使用工具的话)你的数据库中存在一个名为HIBERNATE_SEQUENCE的序列,该序列会在每个INSERT之前被单独调用,已生成顺序数字值.
  3. GenerationType.IDENTITY Hibernate预期(并且会在表DDL中创建)一个特殊的自增长主键列,该列会在数据库INSERT时自动生成一个数字值.
  4. GenerationType.TABLE HIbernate将在您的数据库架构中使用一个额外的表,这个表会保存下一个数字主键值,每行对应一个实体类,在INSERT之前.该表将被读取并做相应的更新.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文中我们介绍并比较两种最流行的开源持久框架:iBATIS和Hibernate,我们还会讨论到Java Persi...
    大同若鱼阅读 4,345评论 4 27
  • 前面的相关文章中,我们已经介绍了使用XML配置文件映射实体类及其各种类型的属性的相关知识。然而不论是时代的潮流还是...
    Single_YAM阅读 6,037评论 2 4
  • 江南的雪,是银装素裹的白茫茫断夜的天,是烟火喧嚣的雾霭蔼零落的残破,画一株雷击木没有春天,乌鸦天狗也没有冬天,黄鼠...
    买金矿阅读 647评论 34 63
  • 心疼也会流淌 流淌成晶体在七公牛谷的山顶 太阳下面闪着光 桃花哭泣的眼睛 脆弱了整个春天
    刘文娟阅读 216评论 0 1
  • 各位老师同学们大家好,我是来自某某的某某同学,很荣幸今天能站在这儿为大家演讲,我演讲的主题是什么是正确的恋爱观。 ...
    kx未已阅读 21,505评论 1 10