hibernate多对一关联映射问题

问题描述

/*一级栏目类*/@Entity@Table(name="tb_biglb")publicclassBiglbBeanimplementsSerializable{privateintbgid;privateStringbgname;privateSet<SmlbBean>smlbs=newHashSet<SmlbBean>();@OneToMany(mappedBy="bglb",fetch=FetchType.EAGER)publicSet<SmlbBean>getSmlbs(){returnsmlbs;}....其他get()set()方法省略...

/*二级栏目类*/@Entity@Table(name="tb_smlb")publicclassSmlbBeanimplementsSerializable{privateintsmid;privateStringsmname;privateBiglbBeanbglb;....其他get()set()方法省略...@ManyToOne(cascade={CascadeType.ALL},fetch=FetchType.EAGER,targetEntity=BiglbBean.class)@JoinColumn(name="bglbid")publicBiglbBeangetBglb(){returnbglb;}

jsp输入页面一级栏目名称:<selectname="?"><c:iftest="${biglblist!=null}"><c:forEachitems="${biglblist}"var="bigs"><!--迭代取出列表中的Bean--><optionvalue="${bigs.bgid}"><!--绑定ID到选择值上-->${bigs.bgname}<!--显示对应的内容--></option></c:forEach></c:if></select>二级栏目名称:<inputname="smname"type="text"size="20"maxlength="20"/>问题:无论一级栏目选什么,在存入数据时,二级栏目中的外键映射总是null值,请教高手这个关联映射怎么做输入页面的问号处--<selectname="?">填写什么?该填写什么才能绑定

解决方案

解决方案二:
没人回答么?
解决方案三:
该回复于2010-11-22 10:44:32被版主删除
解决方案四:
我以前写的不过布置直接写的annotation写的是XML/***文章栏目类**@authorsunshine**/publicclassColumn{/***栏目ID*/privateintid;/***所属的父栏目*/privateColumnparentColumn;/***栏目名称*/privateStringcolumnName;/***栏目是否可用0--不可用1--可用*/privateintcolumnStatus;/***子栏目列表*/privateSetsubColumns;略}

<?xmlversion="1.0"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mappingpackage="com.sunshine.model"><classname="Column"table="t_column"><cacheusage="read-only"region="com.sunshine.model.Column"/><idname="id"column="column_id"><generatorclass="native"/></id><propertyname="columnName"type="string"column="column_name"/><propertyname="columnStatus"type="integer"column="column_status"/><many-to-onename="parentColumn"column="parent_column_id"/><setname="subColumns"lazy="false"inverse="true"order-by="column_id"><keycolumn="parent_column_id"/><one-to-manyclass="Column"/></set></class></hibernate-mapping>

时间: 2024-10-02 17:57:40

hibernate多对一关联映射问题的相关文章

Hibernate多对多关联映射的HQL中的in条件查询问题

群里有朋友求解一个问题,高分求一条HQL多对多查询语句 . 问题描述见 http://topic.csdn.net/u/20090621/16/4eac6fe0-bf3e-422e-a697-f7584732f66e.html, 摘要如下: 一个学科表(Field),一个用户表(User),多对多关系. 学科表有两个字段,id和descripiton,用户表有众多字段,不罗列了 Field中有SET集合users User中有SET集合fields 现在要查掌握id like '520%'的女性

系统学习hibernate之四 hibernate多对一关联映射

一.关联映射的本质: * 将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个引用 <many-to-one>会在多的一端加入一个外键,指向一的一端,这个外键是由<many-to-one> 中的column属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致 <many-to-one>标签的定义示例: * <many-to-one name="group" column="groupid"/>

【SSH系列】Hibernate映射 -- 多对多关联映射

     映射原理         在数据库学习阶段,我们知道,如果实体和实体之间的关系是多对多,那么我们就抽出来第三张表,第一张表和第二张表的主键作为第三表的联合主键,结合我们的hibernate,多对多关联,无论是单向关联还是双向关联都是通过第三张表,将两个表中的主键放到第三张表中做一个关联,用第三张表来解决可能造成的数据冗余问题.今天这篇博文小编来简单的介绍一下hibernate中的多对多关联映射.        在某些系统中,一个用户可以有多个角色,一个角色也可以有多个用户,so,她们之

一口一口吃掉Hibernate(六)——多对多关联映射

       今天来说说Hibernate中的多对多关联映射,多对多关联映射涉及到单向映射和双向映射2种.        首先举个多对多关联例子:用户User和角色Role,一个用户可以属于多个角色,一个角色可以有多个用户.这就是典型的多对多关联的例子.而单向关联映射则是只能由A端去操作B端,B端不能操作A端的数据.而双向关联映射则是A,B两端都可以操作另一端的数据.       先说单向关联映射,实体类如下: /** * 学生类 * @author Longxuan * */ public c

hibernate多对多关联查询配置

问题描述 hibernate多对多关联查询配置 学生.课程.成绩三者 public class Student extends BaseModel { private static final long serialVersionUID = 1L; @Id @GenericGenerator(name = "idGenerator", strategy = "uuid") @GeneratedValue(generator = "idGenerator&q

Hibernate 多对多关联 中间表有多个字段如何配置

问题描述 例如 :学生 与课程之间是多对多关联,中间表不仅有学生表和课程表的主键,中间表还有其他字段(成绩等),该如何配置,用JPA如何设置,望大家指点指点| 解决方案 一个事例:LoginInfo.hbm.xml<hibernate-mapping><class name="com.ucit.ca.webApp.po.LoginInfo" table="CAS_USER_MODULE_INFO"><id name="lid&

Hibernate中通过关联映射取得结果集对结果进行排序、分页的方法

问题描述 在Hibernate中通过关联映射, 例如OneToMany等取得一个实体的属性结果集时有没有办法对结果进行排序或者分页. 直接通过HQL或者SQL可以直接利用HQLSQL进行排序分页等操作, 但是如果这类关联映射不支持这些操作那么关联映射的作用感觉也不是很大了. 例如一个User实体有一个Set<Logs>属性, 即一个用户有N多操作日志,OneToMany的, 那么如果通过User.getLogs()取得的结果集将是全部查询··· 解决方案 作为属性,分页应该不行.排序可以: @

请教一个问题,hibernate多对一单向映射

问题描述 员工类:Staff.java部门类:Dept.java用的是struts2+hibernate.员工类和部门类是多对一单向映射,部门类有一个属性部门人数num.现在的问题是:当我新增或者删除一个员工时,部门类的num属性如何更新.新手请教,谢谢~ 解决方案 解决方案二:这个问题,与hibernate本身无关的吧,是你自身的业务逻辑而已,员工更新时,你通过java程序,或数据库编程的方式,就可以实现部门人数更新的了.解决方案三:1.用数据库触发器2.自己写程序逻辑解决方案四:在添加员工后

第九章 关系映射 多对一关联映射

如:department与employee employee中有一个department_id的外键 Department: public class Department implements Serializable { private Integer id; private String name; public Department() { } public Integer getId() { return id; } public void setId(Integer id) { th