关于many-to-one中cascade不起作用的问题

问题描述

以下是我的映射文件代码:<hibernate-mapping> <class name="demo1.many_to_one.mediaadv.MediaAdv" table="media_adv" catalog="report" > <id name="advid" type="java.lang.String"> <column name="advid" length="20" /> <generator class="assigned" /> </id> <property name="adate" type="java.util.Date"> <column name="adate" length="19" /> </property> <property name="no" type="java.lang.String"> <column name="no" length="6" /> </property> <property name="advname" type="java.lang.String"> <column name="advname" length="200" /> </property> <property name="remark" type="java.lang.String"> <column name="remark" length="1000" /> </property> <many-to-one name="media" class="demo1.many_to_one.media.Media" column="mediaid" update="false" cascade="none" > </many-to-one> </class></hibernate-mapping>以下是java代码:Session session = HibernateSessionFactory.getSession();session.beginTransaction();MediaAdvDAO dao = new MediaAdvDAO();MediaAdv ma = dao.findById("advtest");Media me = ma.getMedia();ma.setAdvname("aftertest1");me.setMedianame("Ais sms");//按我的理解,因为cascade="none",所以me对象不应该被更新到数据库里面,但事实上他却被更新到数据里面了System.out.println((ma.getMedia()).getMedianame());session.flush();session.getTransaction().commit();HibernateSessionFactory.closeSession();请各位帮我看一下.问题补充hqyhch 写道

解决方案

MediaAdv ma = dao.findById("advtest"); Media me = ma.getMedia(); me是通过ma获得的,获得之后me也是一个entity,当事务提交的时候,是将ma和me当着两个entity去提交更新的,并不是通过cascade的属性去关联更新的。
解决方案二:
都进session了啊 你要提交session.save(第一个对象)就不会关联了

时间: 2024-09-12 21:10:31

关于many-to-one中cascade不起作用的问题的相关文章

细细研究MySql中delimiter起到的作用

MySql中delimiter究竟可以起到些什么作用呢?可能不少人都有这样的疑惑,下文就为您介绍MySql中delimiter的作用,供您参考. MYSQL导出一个SQL后: DELIMITER $$      DROP TRIGGER IF EXISTS `updateegopriceondelete`$$      CREATE          TRIGGER `updateegopriceondelete` AFTER  DELETE ON  `customerinfo`        

JAVA中toString方法的作用

以下是对在JAVA中toString方法的作用进行了详细的分析介绍,需要的朋友可以参考下   因为它是Object里面已经有了的方法,而所有类都是继承Object,所以"所有对象都有这个方法". 它通常只是为了方便输出,比如System.out.println(xx),括号里面的"xx"如果不是String类型的话,就自动调用xx的toString()方法 总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法  回答补充:写这个

jQuery:delegate中select()不起作用的解决方法

 本篇文章只要是对jQuery:delegate中select()不起作用的解决方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 jQuery有一个很好用的delegate(事件委派)功能,可以给当前以及将来(动态添加)的元素绑定一个事件处理函数.   比如下面的例子,动态添加一个输入文本框后,我想让所有文本框(不管是不是动态添加的)在获取焦点时,自动转大写.   代码如下: <!doctype html> <html> <head>     <

java-求助,Java中对象序列化的作用是什么?

问题描述 求助,Java中对象序列化的作用是什么? Java中对象序列化的作用是什么?求大神相助,希望能全面一点哦.急求大神解答 解决方案 简单来说,对象像一颗树,里面有字段,如果字段是类型,那么它还有自己的字段. 但是网络传输.保存文件,都必须是线性的,连续的. 序列化就是把这棵树拍扁,成为一个序列的过程. 反序列化就是从一个序列中重新把这颗树拉回来的过程. 解决方案二: 把一个对象,转成流数据,对方根据这个数据还原成初始对象,适用于不同对象间的传输,通讯 解决方案三: 序列化多用于网络IO通

java基础-不是很明确java中的trycatch中,finally()的作用

问题描述 不是很明确java中的trycatch中,finally()的作用 请大家看一下我下面的代码: public class trycatch { public static void main(String args[]) { try{ System.out.println(2/0); System.out.println("检查是否有异常"); } catch(ArithmeticException e ) { System.out.println("系统正在维护,

http協議中,accept的作用?

问题描述 http協議中,accept的作用? http協議中,accept這個field,用來表示瀏覽器想要接收什麼的文件格式比如在jquery中,設置成json,這樣就可以告知服務器,瀏覽器想要的格式jquery的回調函數中,取到的data就是json對象了,不需要程序員再去parse請問,這是瀏覽器把字符串解析成對象了,還是jquery做的? 解决方案 cceptAccept请求报头域用于指定客户端接受哪些类型的信息.eg:Accept:image/gif,表明客户端希望接受GIF图象格式

android listview中超链接不起作用

问题描述 android listview中超链接不起作用 今天看网上listview中实现超链接,自己做了下,超链接没反应,item点击事件也没反应,去掉listview时超链接正常,这是怎么回事?附上代码. @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub webViewItem webViewItem = n

浅析网站优化中站内文章作用和编辑技巧

中介交易 SEO诊断 淘宝客 云主机 技术大厅 网站优化中分为站内优化和站外优化,其中站内优化包括网站结构设计,网站域名空间选择等等,在这些准备好后就可以经营一个网站,排除这些,网站的经营无非就是往网站上面添加内容,写文章,那么在网站上写文章有什么技巧呢,它和我们在自己的博客QQ空间上写文章一样吗,对于网络编辑人员需要了解网站优化中站内文章作用还有编辑技巧,这样才会更大发挥出网络编辑人员的自身价值和网站流量最大化.现在开始分段讲解: 一:文章在网站优化中的作用 定时更新文章可以增加网站文章收录,

ARC中的@autoreleasepool还有作用吗?

ARC中的@autoreleasepool还有作用吗? QUESTION For the most part with ARC (Automatic Reference Counting), we don't need to think about memory management at all with Objective-C objects. It is not permitted to create NSAutoreleasePools anymore, however there is