第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

從零打造在線網(wǎng)盤系統(tǒng)之Hibernate配置O/R映射

標(biāo)簽:
Java

主键映射

注解配置

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

XML配置

    <id name="id" column="id">
        <!-- 主键的生成策略 -->
        <generator class="identity"/>
    </id>

Hiberante主键生成策略 http://www.cnblogs.com/hoobey/p/5508992.html

普通属性映射

注解配置

    @Basic
    @Column(nullable = true)
    private String username;

XML配置

   <!-- 配置其他的属性 -->
   <property name="username" column="username"/>

组件映射

注解配置

组件类    @Embeddable
    public class Name {
        ...
    }
组件属性    @Embedded
    @AttributeOverrides({            @AttributeOverride(name = "firstName", column = @Column(name = "firstName"))            @AttributeOverride(name = "lastName", column = @Column(name = "lastName"))
    })
    private Name name;

XML配置

    <component name="name" class="com.jimisun.domain.Name">
        <property name="first" column="first"/>
        <property name="last" column="last"/>
    <component>

一对一关联映射

商品详情hbm.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping>

    <!-- 配置类和表结构的映射 -->
    <class name="com.jimisun.domain.ProductDetail" table="product_details">
        <!-- 配置id
            见到name属性,JavaBean的属性
            见到column属性,是表结构的字段
        -->
        <id name="id" column="id" type="int">

            <!-- 主键的生成策略 -->
            <generator class="foreign">
                <param name="property">product</param>
            </generator>
        </id>

        <!-- 配置其他的属性 -->
        <property name="detatil" column="detatil"/>
        
        <one-to-one name="product" class="com.jimisun.domain.Product" constrained="true"/>
        
    </class></hibernate-mapping>

多对一单向关联映射

多对一单向关联映射完整示例源码

我们看完了一对一映射我们可以看一下多对一的的映射,这些都是在实际的应用开发中经常用到的,这里提到的单向映射就是单向映射关系,例多个订单和用户之间是多对一的映射关系,但是转换为Java对象来进行表示的时候就是,订单的对象中拥有其所属的用户对象,但是用户对象中并没有包含其拥有的订单,这种单向的映射关系就是单向映射,下面示例是多个订单和用户的单向关联关系表示

配置多的一方
<many-to-one name="customer" column="customer_id" class="com.jimisun.domain.Customer" cascade="all"/>
    public static void main(String[] args) {
        Session session = HibernateSessionFactory.getSession();
        Transaction transaction = session.beginTransaction();
        Customer customer = new Customer();
        customer.setName("bea");
        Order order = new Order();
        order.setNumber("1333");
        order.setCustomer(customer);
        session.save(order);
        transaction.commit();
        Integer id = order.getId();
        Transaction transaction1 = session.beginTransaction();
        Order order1 = session.get(Order.class, id);        if (order != null) {
            System.out.println("Customer:" + order.getCustomer().getName());
            System.out.println("OrderNumber:" + order.getNumber());
        }
        transaction1.commit();
        session.close();
    }

多对一双向关联映射

本章总结

对象关系映射是Hibernate的核心,如何配置映射关系更是必会的技能,所以大家务必要掌握

原文出处:https://www.cnblogs.com/jimisun/p/9942068.html  

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消