SSH框架中使用双向关联如何处理外键(添加)

简介: EG:已知表customer :user 为1:多关系

EG:已知表customer :user 为1:多关系

(一个user可以对应多个customer客户,一个customer只对应一个user用户)

外键在Customer表中,外键名为cust_user_id

class bean .hbm.xml
User 添加关联属性 配置一对多
Customer 添加关联属性 配置多对一


演示:


User中的Bean 内联代码片。

private String id;//用户id
private String username;//用户名称
private String password;//用户密码
//1的方:添加关联属性 customer-外键cust_user_id-关联到user
private Set customer =new HashSet(0);
public Set getCustomer() {
  return customer;
}
public void setCustomer(Set customer) {
  this.customer = customer;
}
//
public User(String 接收的名称) {
  this.接收的名称=接收的名称;
}
复制代码


.hbm.xml中配置一对多:

<!-- 1的一方,设置一对多,实现双向查询  set name中的数值是与bean中设置的关联属性名一致-->
    <set name="customer" inverse="true">
            <key>
                <column name="cust_user_id"/>
            </key>
              <one-to-many class="com.zero.domain.Customer" />
      </set>
复制代码


演示:


Customer中的Bean 内联代码片。

private String cust_id;//客户id
   private String cust_name;//客户名字
//  private String cust_user_id;//用户跟进客户的id
//  外键处理
   private User user;
   //接受的名称
   private String 接收的名称;
   public User getUser() {
    return user;
   }
   public void setUser(User user) {
    this.user = user;
   }
   public String get接收的名称() {
    return 接收的名称;
   }
   public void setId(String 接收的名称) {
    this.接收的名称= 接收的名称;
   }
复制代码


.hbm.xml中配置一对多:

<many-to-one lazy="false" name="user" class="User" fetch="select">
        <column name="cust_user_id" length="32" />
     </many-to-one>
复制代码

最后在添加的页面中的input的name值应该填写: name="user.接收的名称"

就实现了双向关联处理外键问题


拓展


单向one-to-many是只能多方查询到一方,而一方查询不了关联在多方的信息。

双向many-to-many双向可以互相查询,两个表的类中都有外键属性,但是表中的外键还是在多方。

目录
相关文章
|
6月前
|
Java 关系型数据库 MySQL
JSP SSH公车拍卖系统myeclipse开发mysql数据库bs框架java编程网结构
JSP SSH公车拍卖系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发,系统主要采用B/S模式开发。
47 0
|
3月前
|
前端开发 Java 网络安全
基于SSH框架甜品商城管理系统【源码+数据库】
基于SSH框架甜品商城管理系统【源码+数据库】
|
6月前
|
前端开发 Java 关系型数据库
JSP仓库进销存系统ssh框架mysql数据库myeclipse开发mvc结构java
JSP 仓库进销存系统(struts2+hibernate) 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
31 0
|
7月前
|
Java 网络安全 Spring
SSH框架学习中遇到的问题
SSH框架学习中遇到的问题
32 0
|
9月前
|
Java 应用服务中间件 网络安全
【ssh系列一】——框架搭建
建立项目(SpringMVC+Spring+hibernate的maven项目)
|
9月前
|
设计模式 开发框架 缓存
SSH框架简介篇
SSH框架简介篇
198 0
|
10月前
|
SQL 缓存 Java
《SSH框架》---Hibernate
《SSH框架》---Hibernate
|
10月前
|
Java 数据库连接 网络安全
《SSH框架》---spring
《SSH框架》---spring
|
10月前
|
前端开发 Java 网络安全
《SSH框架》Struts2
Struts(金属支架),在程序中表示起支撑作用的通用程序代码,Struts2是在Struts1框架的基础上融合了WebWork优秀框架升级得到的。
|
10月前
|
Java 数据库连接 网络安全
《SSH框架》---还你一个清晰的配置
一开始敲ssh,完全被各种配置弄晕了,看着视频里的老师,一会儿往application中配置,一会儿往Struts里配置,最重要的是,他以为我都理解了,完全不告诉我为什么这样配!当时,我在心里哭啊,老师,我并不知道为什么啊!哭完了之后,自己研究,人就是这样,在哪里跌倒就在哪里爬起,然后跌倒,然后再爬起。。。所以,那些成功的人在人前虽然看着都是光鲜亮丽的,但他柜子里有几身磨破的衣服,只有他自己知道。 现以后台管理员登录来走一遍整个配置过程。