zoukankan      html  css  js  c++  java
  • 属性类的映射

    hibernate基本映射

    类---->数据库表

    普通属性---->表字段

    通过<class>映射到数据库表,通过<property>将普通属性映射到表字段,所谓的普通属性不包括自定义类,集合和数组等。

    一,实体类定义原则:

    1,实体类需要定义一个无参构造方法

    2,提供一个标识属性

    3,使用非final类

    4,为字段提供set和get访问器

    二,hibernate-mapping相关配置标签

    1,<hibernate-mapping 

    default-access="field|property|ClassName"

    package="package.name"/>

    default-access属性:表示hibernate用来访问所有属性的策略,默认为property

    package:指定一个包前缀,在该包下保存的是类的映射文件

    2,<class  name="类的名称"  

     table="指定表的名称"

     dynamic-update="是否动态更新" 

    dynamic-insert="是否动态插入"

    abstract/>

    默认情况下table的名称与类的名称相同;dynamic-update表示是否动态更新,在默认的false情况下会更新一条记录的所有字段,如果设置为true,那么就只更新需要更新的字段;dynamic-insert与dynamic-update的原理相同,默认为false;abstract表示将该类设置为抽象类。

    3,<id

     name="标识属性的名称" 

    type="hibernate中自定义的数据类型"

    column="在数据库表中重命名该列"

    ></id>

    4,主键生成策略

    <generator class="主键生成策略"/>

    native:采用本地数据库的主键生成策略,数字型主键

    uuid:hibernate生成32位16进制字符串,字符型主键

    identity:sqlserver,mysql的主键生成策略

    sequence:oracle数据库生成策略

    foreign:该表的主键来源其他表

    assigned:手动指定主键

    5,property

    <property name="属性字段名称"

    cloumn="重定义字段"

    type="重定义字段类型"

    update

    insert

    unique="true

    not-null

    />

    如果在name中的名称与sql的关键字相同,那么可以使用cloumn将该字段重命名,或者使用type重定义字段的数据类型,重定义的数据类型是hibernate中定义的数据类型。update表示该字段是否参与update更新,insert表示字段是否参与插入操作;formula表示该字段能从其他字段通过计算得到值。unique表示该字段是否唯一;not-null表示该字段是否为空;

    6,

  • 相关阅读:
    python base64.b64decode 等号可以随便加
    MySQL 5.7 数据库的忘记 root 登录密码处理
    霸州录——第一章 名存实亡(下)
    三 工具虽微小 入门不可少
    霸州录——第一章 名存实亡(中)
    霸州录——第一章 名存实亡(上)
    一 欲行网络道,入乡须随俗
    霸州录——楔子
    【第一章】编译原理基础
    TensorFlow
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1957685.html
Copyright © 2011-2022 走看看