摘要:
hibernate merge attempted to assign id from null one-to-one property首先有两个数据表Topic和TopicInfo。Topic为主表,TopicInfo为从表,建表语句如下:Topic:CEATE TABLE `topic` (`topic_name` varchar(100) COLLATE utf8_bin NOT NULL,`topic_id` varchar(100) COLLATE utf8_bin NOT NULL,`uid` varchar(100) COLLATE utf8_bin NOT NULL,PRIMA 阅读全文
摘要:
用Hibernate肯定会频繁的用到session,下面就将Hibernate session中一些经常的用方法逐个的解释一下。Transaction beginTransaction()开始一个工作单元并返回一个与之相关Transaction对象,最为事务的开始,通常在需要对数据库进行更改例如save,update或delete时使用。在事务结束后需要调用Transaction的commit方法提交更改,该方法必须在Hibernate session关闭之前使用。void flush() void clear()这两个方法通常在一起使用。由于Hibernate有缓存数据的功能,所以当我们要批 阅读全文
摘要:
one-to-one在hibernate中可以用来作为两张表之间的主键关联,这也是hibernate中主键关联的一种用法,这样在一张表中的ID,在生成另外一张表的同时回自动插入到相应的ID字段中去,相应的XML文件设置比较简单,举例如下:<!-- 建立一对一的到Address的映射,这个是写在User的XML配置文件中的 --><!--相应的User bean(PO)中也要添加属性 com.xx.Addressaddress--><one-to-one name="address" cascade="all" class=& 阅读全文
摘要:
hihernate一对多关联映射(单向Classes----->Student)一对多关联映射利用了多对一关联映射原理多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向一一对多关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是一指向多也就是说一对多和多对一的映射策略是一样的,只是站的角度不同在一一端维护关系的缺点:* 如果将t_student表里的classesid字段设置为非空,则无法保存* 因为不是在student这一端维护关系,所以student不知道是哪个班的,所以需要发出多余的update语句来更新关系hihernate一对多关联映射(双向Cla 阅读全文
摘要:
表A记录如下:aID aNum1 a200501112 a200501123 a200501134 a200501145 a20050115表B记录如下:bID bName1 20060324012 20060324023 20060324034 20060324048 2006032408实验如下:1.left joinsql语句如下:SELECT * FROM A LEFT JOIN B ON A.aID = B.bID结果如下:aID aNum bID bName1 a20050111 1 20060324012 a20050112 2 20060324023 a20050113 3 2 阅读全文
摘要:
mysql中的内连接,外连接实例详解内连接: 只连接匹配的行左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行全外连接: 包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。交叉连接 生成笛卡尔积-它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每个行都一一匹配举个例子吧。表Aid name1 张2 李3 王表Bid address A_id1 北京 12 上海 33 南京 10/*************** 阅读全文
摘要:
Google 这个错误,发现也有好多人和我一样,遇到这个问题,参考他们的解决方案,就是在c3p0里加入测试连接的参数,于是我也写了个保持连接的线程,在server启动的时候就执行,但是,试验之后,问题依旧。后来经过思考,发现错误的原因是:在程序中,有一个数据库连接,是长期保存的,但是因为对方是在线服务器,所以估计设置了对于长sql连接,会有一个timeout,然后主动断开连接。导致在本地程序这边,次Connection是正常的,但是连接到服务器,就出问题了。知道了问题的原因,解决起来就方便了。以下是两个解决方案:方案1.还是保持长连接,但是加入对这个异常的捕获,如果出现这个异常,那就close 阅读全文