问题描述
父类:BaseLineDefine(基线)
子类
SBaseLineDefine (静态基线)
DBaseLineDefine(动态基线)无论是动态基线,还是静态基线,都会有一个 TolerateLine(容忍线)的集合 (Set<TolerateLine>)。我把这个集合放在了父类中,如下
class BaseLineDefine{
private String baselineid;
Set listTolerateLine = new HashSet();
}class SBaseLineDefine extends BaseLineDefine{
....其他属性
}class DBaseLineDefine extends BaseLineDefine{
.....其他属性}
我在配置hibernate的时候
(1) BaseLineDefine<class name="BaseLineDefine" table="c_baslinedefine">
<id name="baselineid" column="fc_baslineid">
<generator class="assigned"></generator>
</id>
<set name="listTolerateLine" inverse="true" cascade="all">
<key column="fc_baslineid"></key>
<one-to-many class="TolerateLine"/>
</set>
<joined-subclass name="DBaseLineDefine" table="c_d_basline">
<key column="fc_baslineid"></key>
<property name="baselineperiod" column="fc_baslineperiod" type="string"></property>
</joined-subclass>
<joined-subclass name="SBaseLineDefine" table="c_s_baslinedefine">
<key column="fc_baslineid"></key>
<property name="algorithm" column="fc_algorithm" type="string"></property>
</joined-subclass>
</class>(2) TolerateLine<class name="TolerateLine" table="c_tolerateline">
<id name="toleratelineid" column="fc_toleratelineid" type="string">
<generator class="assigned"></generator>
</id>
<property name="type" column="fi_type" type="int"></property>
<property name="value" column="fi_value" type="java.lang.Float"></property>
<many-to-one name="baseline" column="fc_baslineid"></many-to-one>
</class>
后台Dao中public void delSBaseLine(SBaseLineDefine sbd) {
Session session = this.getSessionFactory().openSession();
session.beginTransaction();
Set<TolerateLine> set =sbd.getListTolerateLine();
Iterator it = set.iterator();
while(it.hasNext()){
TolerateLine t =(TolerateLine)it.next();
System.out.println(t.getValue()+"------------");
}
//session.delete(sbd);
session.getTransaction().commit();
this.releaseSession(session);
}
session.delete 时只删除了基线,然后获取TolerateLine的集合,发现为空,不知为什么,是我什么地方配置的不对?
子类的表和父类的表是通过主键baselineid关联的
BaseLineDefine 表
baselineid name
1 line1
SBaseLineDefine 表()
baselineid period .......其他列
1 120
父类:BaseLineDefine(基线)
子类
SBaseLineDefine (静态基线)
DBaseLineDefine(动态基线)无论是动态基线,还是静态基线,都会有一个 TolerateLine(容忍线)的集合 (Set<TolerateLine>)。我把这个集合放在了父类中,如下
class BaseLineDefine{
private String baselineid;
Set listTolerateLine = new HashSet();
}class SBaseLineDefine extends BaseLineDefine{
....其他属性
}class DBaseLineDefine extends BaseLineDefine{
.....其他属性}
我在配置hibernate的时候
(1) BaseLineDefine<class name="BaseLineDefine" table="c_baslinedefine">
<id name="baselineid" column="fc_baslineid">
<generator class="assigned"></generator>
</id>
<set name="listTolerateLine" inverse="true" cascade="all">
<key column="fc_baslineid"></key>
<one-to-many class="TolerateLine"/>
</set>
<joined-subclass name="DBaseLineDefine" table="c_d_basline">
<key column="fc_baslineid"></key>
<property name="baselineperiod" column="fc_baslineperiod" type="string"></property>
</joined-subclass>
<joined-subclass name="SBaseLineDefine" table="c_s_baslinedefine">
<key column="fc_baslineid"></key>
<property name="algorithm" column="fc_algorithm" type="string"></property>
</joined-subclass>
</class>(2) TolerateLine<class name="TolerateLine" table="c_tolerateline">
<id name="toleratelineid" column="fc_toleratelineid" type="string">
<generator class="assigned"></generator>
</id>
<property name="type" column="fi_type" type="int"></property>
<property name="value" column="fi_value" type="java.lang.Float"></property>
<many-to-one name="baseline" column="fc_baslineid"></many-to-one>
</class>
后台Dao中public void delSBaseLine(SBaseLineDefine sbd) {
Session session = this.getSessionFactory().openSession();
session.beginTransaction();
Set<TolerateLine> set =sbd.getListTolerateLine();
Iterator it = set.iterator();
while(it.hasNext()){
TolerateLine t =(TolerateLine)it.next();
System.out.println(t.getValue()+"------------");
}
//session.delete(sbd);
session.getTransaction().commit();
this.releaseSession(session);
}
session.delete 时只删除了基线,然后获取TolerateLine的集合,发现为空,不知为什么,是我什么地方配置的不对?
子类的表和父类的表是通过主键baselineid关联的
BaseLineDefine 表
baselineid name
1 line1
SBaseLineDefine 表()
baselineid period .......其他列
1 120
解决方案 »
- struts 中action问题
- 问下各位大大,在北京5K---6K的java程序员要会到什么程度?
- 想学structs+hibernate各位大哥给点意见
- 能否提供一个Socket发送和接受XML文件的例子?比较急,谢谢!
- ++++++++++++++++++ Apache 2.0.54 Tomcat 5.5.12 整合 ++++++++++++++++++++++
- 困扰我3天的问题---建立新的用户记录出错
- 请问有必要整合apache和tomcat吗?
- 小弟刚学完java语言程序设计,下个学期就学j2ee,请问什么书最适合我
- 想请教一下关于Collection,Vector等集合类的问题!
- JBoss+MySQL下使用Blob数据类型,及文件的上传下载
- ehcache是如何读取持久化到磁盘的文件的??????
- JSP中myexlipse 8.6连接不到SQL 2005
BaseLineDefine 表
baselineid name
1 line1
SBaseLineDefine 表()
baselineid period .......其他列
1 120举了两个表,父表与子表通过主键baselineid关联