java中多个DAO对象同时操作的问题 一个业务要用到几个DAO对象,但是数据库设计中没有外键,无法关联,现在我想手工关联,不知道应该如何写,不管是session还是其他的办法,只要实现了就可以。谢谢各位大侠,小弟在此答谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 jdbc 设置2表之间有ID关联 inner join ... dao和session(应该指的是hibernate的吧)是没有关系的!当你把某个dao实现后,我们用dao不会管他是由hibernate or jdbc or jdbctemplate(Spring)的,只管拿来用就OK了。 主外键的目的是什么 ?在我看来就是为了数据的合法性,比如一个身份证没有对应的人!那这个身份证就没有意义,就是不合法啦!我们那身份证和人举列子,人可以没有身份证(小屁孩),但是身份证必须有对应的人。所以当你删除这个人时,你必须把与之对应的身份证也删了。那么就很简单啦, personDao.delete(person); cardDao.deleteCardbyPersonId(person.getId());写到一个事务里! hql语句直接关联就可以了或者用原生sql关联查询 通过Hibernate的Session对象是可以得到Connection的。具体我忘记了,大概的样子是: session.getCurrentSession().getConnection();得到了Connection后就可以直接的执行SQL了。类似于:String sql = "selelct a.a1,a,a2,b.b1,b.b2 from a,b where a.id=b.id";conn.createStatment().executeQuery(sql); 那我如何保证我的session是一个session呢?? 很久没有用Hibernate了,我记得Hibernate可以从配置文件中设置主外键关联的,而且还可以设置是否级联删除,LZ自己查一下,应该可以解决的。使用的时候,也就是几个相关的对象操作,封装的一个事务里就可以了。 session是一个事务,当你开启一个事务后,你可以进行多个crud操作,跟dao没关系,然后再提交事务。 jre-7u6-linux-i586.tar.gz 怎么没有 bin/javac 在线求解,(统计字符串中的英文字母数量,并替换成下划线) import中出现问题 急,求教高手,如何设置JTable中一个单元格的属性? 重开一贴,百分请教PreparedStatement模糊查询问题,立结! 关于字符显示的问题? 喆 这样一段代码!数据库的连接问题 请问jbuilder中有没有类似于Vb中的ListView的组件 认证试题,没看懂,大侠助我,谢谢! 关于java程序的执行简单问题 异常! frame的问题
inner join
...
主外键的目的是什么 ?在我看来就是为了数据的合法性,比如一个身份证没有对应的人!那这个身份证就没有意义,就是不合法啦!
我们那身份证和人举列子,人可以没有身份证(小屁孩),但是身份证必须有对应的人。所以当你删除这个人时,你必须把与之对应的身份证也删了。
那么就很简单啦,
personDao.delete(person);
cardDao.deleteCardbyPersonId(person.getId());
写到一个事务里!
具体我忘记了,大概的样子是: session.getCurrentSession().getConnection();
得到了Connection后就可以直接的执行SQL了。
类似于:
String sql = "selelct a.a1,a,a2,b.b1,b.b2 from a,b where a.id=b.id";
conn.createStatment().executeQuery(sql);
而且还可以设置是否级联删除,LZ自己查一下,应该可以解决的。
使用的时候,也就是几个相关的对象操作,封装的一个事务里就可以了。