zoukankan      html  css  js  c++  java
  • (十四)Hibernate中的多表操作(4):单向一对一

    案例一: 注解方式实现一对一

    • UserBean.java
    package bean;
    
    import java.io.Serializable;
    
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.OneToOne;
    import javax.persistence.Table;
    
    @Entity
    @Table(name = "user")
    public class UserBean implements Serializable {
    
        @Id
        private Integer userid;
        private String username;
        private String password;
        private String sex;
        @Column(name = "is_admin")
        private String isAdmin;
    
        @OneToOne
        @JoinColumn(name="userid")  //一定要设置@JoinColumn,否则报错 ,表示用本表中的userid字段与cardBean中的主键关联
        private CardBean cardBean;
    
        public UserBean(Integer userid, String username, String password,
                String sex, String isAdmin) {
            super();
            this.userid = userid;
            this.username = username;
            this.password = password;
            this.sex = sex;
            this.isAdmin = isAdmin;
        }
    
        public UserBean() {
        }
    
        public Integer getUserid() {
            return userid;
        }
    
        public void setUserid(Integer userid) {
            this.userid = userid;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    
        public String getIsAdmin() {
            return isAdmin;
        }
    
        public void setIsAdmin(String isAdmin) {
            this.isAdmin = isAdmin;
        }
    
        public CardBean getCardBean() {
            return cardBean;
        }
    
        public void setCardBean(CardBean cardBean) {
            this.cardBean = cardBean;
        }
    
    }
    • CardBean.java
    package bean;
    
    import java.io.Serializable;
    
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.Table;
    
    @Entity
    @Table(name = "card")
    public class CardBean implements Serializable {
    
        @Id
        @Column(name = "card_id")
        private Integer cardId;
        @Column(name = "card_name")
        private String cardName;
    
        public CardBean(Integer cardId, String cardName) {
            super();
            this.cardId = cardId;
            this.cardName = cardName;
        }
    
        public CardBean() {
        }
    
        public Integer getCardId() {
            return cardId;
        }
    
        public void setCardId(Integer cardId) {
            this.cardId = cardId;
        }
    
        public String getCardName() {
            return cardName;
        }
    
        public void setCardName(String cardName) {
            this.cardName = cardName;
        }
    
    }
    • 把含注解的bean添加到总配置文件中,


    案例二: 使用映射文件xml实现一对一

    • CardBean.java
    package bean;
    
    /**
     * CardBean entity. @author MyEclipse Persistence Tools
     */
    
    public class CardBean implements java.io.Serializable {
    
        // Fields
    
        private Integer cardId;
        private String cardName;
    
        // Constructors
    
        /** default constructor */
        public CardBean() {
        }
    
        /** minimal constructor */
        public CardBean(Integer cardId) {
            this.cardId = cardId;
        }
    
        /** full constructor */
        public CardBean(Integer cardId, String cardName) {
            this.cardId = cardId;
            this.cardName = cardName;
        }
    
        // Property accessors
    
        public Integer getCardId() {
            return this.cardId;
        }
    
        public void setCardId(Integer cardId) {
            this.cardId = cardId;
        }
    
        public String getCardName() {
            return this.cardName;
        }
    
        public void setCardName(String cardName) {
            this.cardName = cardName;
        }
    
    }
    • UserBean.java
    package bean;
    
    /**
     * UserBean entity. @author MyEclipse Persistence Tools
     */
    
    public class UserBean implements java.io.Serializable {
    
        // Fields
    
        private Integer userid;
        private String username;
        private String password;
        private String sex;
        private String isAdmin;
    
        private CardBean cardBean;
    
        // Constructors
    
        /** default constructor */
        public UserBean() {
        }
    
        /** minimal constructor */
        public UserBean(Integer userid) {
            this.userid = userid;
        }
    
        /** full constructor */
        public UserBean(Integer userid, String username, String password,
                String sex, String isAdmin) {
            this.userid = userid;
            this.username = username;
            this.password = password;
            this.sex = sex;
            this.isAdmin = isAdmin;
        }
    
        // Property accessors
    
        public Integer getUserid() {
            return this.userid;
        }
    
        public void setUserid(Integer userid) {
            this.userid = userid;
        }
    
        public String getUsername() {
            return this.username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getPassword() {
            return this.password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        public String getSex() {
            return this.sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    
        public String getIsAdmin() {
            return this.isAdmin;
        }
    
        public void setIsAdmin(String isAdmin) {
            this.isAdmin = isAdmin;
        }
    
        public CardBean getCardBean() {
            return cardBean;
        }
    
        public void setCardBean(CardBean cardBean) {
            this.cardBean = cardBean;
        }
    
    }
    • 创建映射文件  UserBean.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">
    <!-- 
        Mapping file autogenerated by MyEclipse Persistence Tools
    -->
    <hibernate-mapping>
        <class name="bean.UserBean" table="user" catalog="test">
            <id name="userid" type="java.lang.Integer">
                <column name="userid" />
                <generator class="assigned"></generator>
            </id>
            <property name="username" type="java.lang.String">
                <column name="username" length="100" />
            </property>
            <property name="password" type="java.lang.String">
                <column name="password" />
            </property>
            <property name="sex" type="java.lang.String">
                <column name="sex" />
            </property>
            <property name="isAdmin" type="java.lang.String">
                <column name="is_admin" />
            </property>
            
            <!-- 配置单向一对一 -->
            <one-to-one name="cardBean" class="bean.CardBean" ></one-to-one>
        </class>
    </hibernate-mapping>
    • 创建映射文件  CardBean.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">
    <!-- 
        Mapping file autogenerated by MyEclipse Persistence Tools
    -->
    <hibernate-mapping>
        <class name="bean.CardBean" table="card" catalog="test">
            <id name="cardId" type="java.lang.Integer">
                <column name="card_id" />
                <generator class="assigned"></generator>
            </id>
            <property name="cardName" type="java.lang.String">
                <column name="card_name" />
            </property>
        </class>
    </hibernate-mapping>
    • 把映射文件添加到总配置文件中
  • 相关阅读:
    hdu 4504 dp问题 转化能力不够 对状态的转移也是不够
    BZOJ_2594_[Wc2006]水管局长数据加强版_LCT
    BZOJ_4530_[Bjoi2014]大融合_LCT
    BZOJ_3669_[Noi2014]魔法森林_LCT
    BZOJ_1180_[CROATIAN2009]OTOCI_LCT
    BZOJ_2631_tree_LCT
    BZOJ_3282_Tree_LCT
    BZOJ_2049_[Sdoi2008]Cave 洞穴勘测_LCT
    BZOJ_2622_[2012国家集训队测试]深入虎穴_最短路
    BZOJ_3653_谈笑风生_树状数组
  • 原文地址:https://www.cnblogs.com/shyroke/p/6901309.html
Copyright © 2011-2022 走看看