今天修改带<any>关联的对象报错:org.hibernate.AssertionFailure:collection was not processed by flush()!涉及到了3个对象,一个企业,一个产品,一个收藏,其中收藏里通过<any>关联着企业和产品,是对产品和企业的收藏,映射文件如下:
-----------------------TPrettyFavorite.htm.xml---------------------
<class name="TPrettyFavorite" table="cn_list_TPrettyFavorite">
<id name="id" type="integer" column="id">
<generator class="native"/>
</id>
<property name="name" column="name" type="string" not-null="false" length="255"/>
<property name="content" column="content" type="text"/>
<any name="favorite" meta-type="string" id-type="integer" cascade="none" lazy="false">
<meta-value value="product" class="cn.product.TPrettyProduct"/>
<meta-value value="enterprise" class="cn.enterprise.TPrettyEnterprise"/>
<column name="favoriteType"/>
<column name="favoriteId"/>
</any>
</class>
TPrettyProduct和TPrettyEnterpirse的映射文件从略。
下面是处理修改TPrettyFavorite对象的代码:
//temp是从页面传递过来的TPrettyFavorite对象
IPrettyFavorite temp = (IPrettyFavorite) this.getTableObject();
//article是从数据库里根据temp的id load出来的TPrettyFavorite对象
IPrettyFavorite article = (IPrettyFavorite) this.getCurrentTemplate.load(TPrettyFavorite.class,new Integer(temp.getId()));
article.setContent(temp.getContent());
this.getCurrentTemplate().setFlushMode(HibernateTemplate.FLUSH_ALWAYS);
this.getCurrentTemplate().saveOrUpdate(article);
this.getCurrentTemplate().flush();
this.getCurrentTemplate().evict(article);
下面是日志里打出来的信息:
2007-09-03 18:53:52,781 ERROR [org.hibernate.AssertionFailure] - <an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)>
org.hibernate.AssertionFailure: collection was not processed by flush()
at org.hibernate.engine.CollectionEntry.postFlush(CollectionEntry.java:144)
at org.hibernate.event.def.AbstractFlushingEventListener.postFlush(AbstractFlushingEventListener.java:305)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:28)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:730)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:815)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.flush(HibernateTemplate.java:813)
分享到:
- 2007-09-03 18:19
- 浏览 3316
- 评论(4)
- 论坛回复 / 浏览 (4 / 3684)
- 查看更多
相关推荐
动态关联对象获取(Dynamic association fetching)<br>12.6. 根据示例查询(Example queries)<br>13. 原生SQL查询<br>13.1. 创建一个基于SQL的Query<br>13.2. 别名和属性引用<br>13.3. 为SQL查询命名<br>14. 性能...
动态关联对象获取(Dynamic association fetching)<br>12.6. 根据示例查询(Example queries)<br>13. 原生SQL查询<br>13.1. 创建一个基于SQL的Query<br>13.2. 别名和属性引用<br>13.3. 为SQL查询命名<br>14. 性能...
绝对的经典javascript收藏 包含了各个种类的js校验实例<br>web开发绝妙帮手<br><br>javascript收藏 <br>1.页面校验 <br>1.文本框约束输入 <br>2.表单校验工具库 <br>3.文本框部分内容不让改变 <br>2.下拉框类 <br>...
<br>7.4.7 类型转换运算符 <br>7.4.8 控制流函数 <br>7.4.9 数学函数 <br>7.4.10 字符串函数 <br>7.4.11 日期和时间函数 <br>7.4.12 其他函数 <br>7.4.13 与GROUP BY子句一起使用的函数 <br>7.5 CREATE DATABASE ...
- req <url> <method> <params> <data> <auth> - toJSON - to_xml <content> <kwargs> - use <cookies> - xml <url> <method> <params> <data> - group - group add_comment <topic_id> <content> <reply_id...
<br> file.Flush();<br> file.Close();<br> fso.Close(); <br> string path1 = Server.MapPath("xiaofenga.txt");<br> StreamReader sr = new StreamReader(path1);<br> //读取所有内容<br> Response.Write(sr....
- `flush_all [<time>] [noreply]`:清空所有缓存数据,可选的时间参数表示延迟执行的时间。 - `version`:显示memcached的版本信息。 - `verbosity <level> [noreply]`:设置日志记录级别。 - `quit`:退出当前的...
* 修改日期:<br> */ public class ZipUtil { /** * * 功能描述:压缩文件 <br> * 创建者:XXX <br> * 创建日期: 2015年5月7日 - 下午1:35:18<br> * 版本: V0.1 <br> * 修改者: <br> * 修改...
fontResolver.addFont(fontPath.toString(), BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); // 解决图片的相对路径问题 // renderer.getSharedContext().setBaseURL("file:/F:/teste/html/"); renderer....
<description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>...
<name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> ...
<br/>8.4.4.3 选择特定列 <br/>8.4.4.4 排序行 <br/>8.4.4.5 日期计算 <br/>8.4.4.6 NULL值操作 <br/>8.4.4.7 模式匹配 <br/>8.4.4.8 行计数 <br/>8.4.5 使用多个数据库表 <br/>8.5 获得数据库和表的信息 <br/>8.6 ...
add <key> <flag> <expiration_time_in_seconds> <byte_count_of_value> <value> ``` **解释**: - `<key>`:键名,用于标识缓存中的数据。 - `<flag>`:标志位,通常用于表示数据的类型或附加信息,默认为0。 - `...
<jsp:include flush="true" page="head.jsp"/><br /><br /><br /><br /> <form name="form1" method="post" action="DepAddSave.jsp" onSubmit="return check();"> <table width="500" height="104" border="1" ...
<description>Username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> <description>Password to use ...
resp.Write("<table class='table'><tr><th>" +"文件标题"+ "</th><th>" + "档案类别" + "</th><th>" +"发文日期" + "</th><th>" +"文件链接" + "</th><th>" +"备注" + "</th></tr>"); //VideoList = (List...
<artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <!-- html 转 pdf --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.11</...
- `replace <key> <flags> <expiration> <bytes> [value]`: 替换已有键的值,如果键不存在则失败。 - **追加数据**: - `append <key> <flags> <expiration> <bytes> [value]`: 追加数据到已存在的键后。 - **前置...
- 允许 root 用户远程登录:`mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;` - 强制应用更改:`mysql > FLUSH PRIVILEGES;` 2. **配置 Hive**: - **修改 `...
<version>5.x.x</version> <!-- 使用合适的版本 --> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.x.x</version> <!-- 使用合适的版本 ...