hibernate 的及联插入问题 不完全解决方案

原创 2005年05月20日 22:10:00

csdn的blog 实在是没法用了,每次想上去的时候就给我 internal error 汗死了。前阵子弄hibernate 但是及联插入的问题一直没有得到解决,今天终于有点头绪了,在一定的配置条件能够实现一对多的及联插入了:

many 的类如下:
public class Many
{
    private int manyId;
    private One one;

    public int getManyId()
    {
        return manyId;
    }

    public void setManyId(int manyId)
    {
        this.manyId = manyId;
    }
    public One getOne()
    {
        return one;
    }

    public void setOne(One one)
    {
        this.one = one;
    }
}

one 的类如下:

public class One
{
    private String oneId;
    private Set manys = new HashSet();
    
    public String getOneId()
    {
        return oneId;
    }

    public void setOneId(String oneId)
    {
        this.oneId = oneId;
    }

    public Set getManys()
    {
        return manys;
    }

    public void setManys(Set manys)
    {
        this.manys = manys;
    }
}

以上两个类只是简单的列出了一对多关系的最基本字段,他们的配置文件如下:
many.hbm.xml
<hibernate-mapping>
 <class name = "Many" table = "MANY" >
  <id name = "manyId" type = "int" unsaved-value="0"> <!-- unsaved-value="0" must-->
   <column name = "MANYID"  sql-type="integer" not-null="true" ></column>
   <generator class = "increment"></generator> <!-- generator class must increment-->
  </id>
  
  <many-to-one name = "one" class="One"  >
   <column name = "FONEID" not-null = "false" ></column>
  </many-to-one>
 
 </class>
</hibernate-mapping>
这个配置文件比较重要,原来没有实现及联主要是没有 在id里加 unsaved-value="0"以及把pk 的产程方式设为 increment

one.hbm.xml:
<hibernate-mapping>
 <class name = "One" table = "ONE">
  <id name = "oneId" type = "string">
   <column name = "ONEID" sql-type = "varchar(10)" not-null = "true"></column>
   <generator class = "assigned"></generator>
  </id>
  
  <set name = "manys" table = "MANY"  cascade= "save-update" inverse = "false">
   <key column = "FONEID"></key>
   <one-to-many class = "Many"></one-to-many>
  </set>
 </class>

</hibernate-mapping>

这样的请款比较奇怪,不可能只让用户使用increment的pk 才能实现及联,一定还有哪里没有配置好,hibernate 太赞勒

商业智能解决方案不完全等于数据分析

商业智能分析与数据分析之间的关系很微妙,很多人非常好奇,常常会问商业智能分析是不是就等于数据分析。后来又出现了商业智能解决方案,加了方案两个字的BI是否就高端些,有别于数据分析呢?今天小编就在这里为大...

Yii 不完全解决方案(二)

强制赋值避免 rule 规则过滤字段。用 setAttributes 可以强制取消 Yii 的安全过滤,只要第二个参数赋值为 false 就好。但是这也只能对这个 Model 生成时就拥有的字段生效,...
  • jcjc918
  • jcjc918
  • 2014年08月16日 21:35
  • 3819

Yii 不完全解决方案(一)

此文意在记录 Yii 开发过程中的小问题解决方案,不全面,不权威,不是教程。自己写过,觉得可以解决问题,以后也可能用上,就记记吧。...
  • jcjc918
  • jcjc918
  • 2014年08月13日 20:26
  • 6735

hibernate jpa manyToOne级联操作时,update时报出identifier of an instance of 问题的解决方案及update问题

最近一直在用Jpa来做项目,jpa的优点这里我就不多说了,说一下最近使用时解决的一个问题吧。 首先来说,使用jpa进行update操作时,由于调用的是jpa封装好的save方法,所以如果表单页面中没有...

Java编码问题完全解决方案

Java编码问题完全解决方案 2009-06-30 14:22 nokiaguy 真的有外星人吗 字号:T | T 本文介绍了Java编码是怎么回事,以及一些中文编码的常见...
  • leepne
  • leepne
  • 2014年12月15日 15:14
  • 363

converView在ListView还未显示完全时就提前重用的问题解决方案

问题描述: 在LIstView中cervertView是常见的优化手段,但是我的ListView的第一次创建时,每一个item都会不停的使用第一个item的convertView,一轮过后恢复正常。...
  • a_long_
  • a_long_
  • 2016年06月04日 14:33
  • 292

Xp/Win7下的VC6的调试、多开工程实例等问题的完全兼容解决方案

一直中意于VC6(Microsoft Visual C++ 6.0)的简洁、速度快、小巧玲珑、操作熟练而方便等优点特点, 虽然很多类库、工具都很老但很多时候够用所以依然还是那么的经典!如有像笔者偶一样...

JSP中文问题完全解决方案

在Java开发中,中文乱码是一个最让人头疼 的问题。其实造成这种问题的根本原因是Java 中采用默认编码方式为Unicode,而中文采用编 码方式一般情况下为GB2312,从而导致中文不 能正...

解决Scrollview嵌套recycleview的显示不完全,滑动冲突问题

先上一张效果图:解决显示不完全的问题 这个问题只要重写recycleview的onmeasure方法即可.比如下面的代码,我将recycleview的高度重写测量为500. @Override...
  • totcw
  • totcw
  • 2016年10月12日 10:51
  • 3969
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hibernate 的及联插入问题 不完全解决方案
举报原因:
原因补充:

(最多只允许输入30个字)