Hibernate + maven学习笔记 - 第002天

Maven

安装

http://maven.apache.org/download.cgi
下载apache-maven-3.3.9-bin.zip
直接解压缩

配置环境变量

用户变量
M2_HOME D:\apache-maven-3.3.9
PATH    D:\apache-maven-3.3.9\bin

cmd界面操控

检查mvn成功 mvn -v
生成普通java项目

mvn archetype:generate -DgroupId=com.kygo -DartifactId=hibdemo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

阿里

  <mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>

仓库
http://mvnrepository.com/

Hibernate第002天

hibernate创建实体类
1.类型使用对象
2.必须要保留无参构造
3.不加final - 不能代理 1.实现接口 2.用字节码在内存生成对象实现代理
4.实现可序列化接口

注解

主键映射 @Embeddable @Embedded
可以把一个对象作为另一个对象的属性

主键和自动增长
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)

多对一 级联操作
@ManyToOne(cascade = CascadeType.ALL)
如: 存IdCard要先存User 如果只写存IdCard需要加 casacad 级联存User

一对一 一方必须是用@ManyToOne 用unique=ture来限定

添加外键约束
@JoinColumn(name = "userid")

双向关联必须
@OneToMany(mappedBy = "user")

fetch 抓取策略
fetch=FetchType.LAZY

不在数据库
@Transient

ShemaExport-数据库建表

        // 通过ShemaExport工具类实现自动导出表
        SchemaExport se = new SchemaExport();
        // 创建一个标准服务注册器对象(建造者模式)
        StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build();
        try {
            // 创建元数据对象(包含了hibernate的配置信息)
            Metadata metadata = new MetadataSources(registry).buildMetadata();
            // 通过映射实现在数据库中建表的操作
            se.create(EnumSet.of(TargetType.DATABASE), metadata);
        } finally {
            // 销毁注册器对象
            StandardServiceRegistryBuilder.destroy(registry);
        }

元数据对象也可以创建会话工厂,得到session对象

    metadata.getSessionFactoryBuilder().build().getCurrentSession();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • hibernate表关联的各种配置: 1、多对多单向: user----->role user.hbm.xml: ...
    加油小杜阅读 292评论 0 0
  • Maven简单介绍 Maven是一个项目管理工具。强大,但是很容易使用。 它包含了: 一个项目对象模型 (Proj...
    高公子Daniel阅读 4,273评论 4 60
  • 【读经】 诗篇72 【金句】 独行奇事的耶和华—以色列的神是应当称颂的!(诗篇 72:18 和合本) 【感动】 耶...
    chanor阅读 1,174评论 0 0
  • 摸索的路上,离开已成定局。 2017年8月25日 星期五 多云 车程时长预计9个小时 床上的小人,突然打了个寒...
    疯子ix阅读 1,591评论 9 5