只显示主题贴

多对一的配置可以这样写: 在product的配置文件中 <many-to-one name="user" class="User"> <formula>(select u.id from User u where u.first_name = first_name and u.last_name = last_name)</formula> </many-to-one>
  • 进入论坛 Java
河北 廊坊 中国电信 速度很快 点开一个帖子显示完全一般在2秒以内。
好像你的parent对象一直在session的管理之下,是一个持久化对象,而并非如你所说的 “只对parent的id属性设置了值,其他值都为空”的一个临时对象,这样虽然没有对parent对象做更新操作,但是当事务提交时,hibernate会自动把对持久化对象的修改保存到数据库中,检查发现id发生了改变,所以报错。 你的对象为什么一直在session的管理之下呢,是每次request到来时提前准备好的还是每次session都不关?
  • 进入论坛 Java
修改对象应该在持久化对象的基础上进行修改。 根据id,get获取到对应的持久化对象,再设置要改变的属性值。 关联对象也同样,根据父id,get获取到anotherParent,再child.setParent(anotherParent);
  • 进入论坛 Java
不能修改持久化对象的id值
  • 进入论坛 Java
试了一下REQUIRES_NEW事务方式,对象自己的不同方法嵌套调用可以的,但是spring好像不能实现自己到自己里面的注入,需要在程序中set一次,前面写的。
  • 进入论坛 Java
yeshucheng 写道这个问题也捆饶了我很久 我觉得自己的嵌套调用不被aop拦截挺好啊,保证了在一个事务里面, 如果你要实现嵌套调用的拦截,那么里面的方法不能用this来调用,直接写someInnerMethod();实际就是执行了this.someInnerMethod();这个this是剥离了aop代理的真正的SomeServiceImpl对象,而外面执行的someService.someMethod()这个someService对象是aop代理对象,只有调用代理对象的方法才有机会执行代理动作, 那么怎么在方法里面来调用代理对象,自己想办法吧,可以从spring容器中取得该对象,或者 ...
  • 进入论坛 Java
被事务隔离了,从数据库事务方向去考虑。 估计你读数据没有提交事务,而数据库事务是serializable。
  • 进入论坛 Java
-1就是减1嘛,想一想00000000减去1应该是多少呢,不够就借位,那就是11111111
hunteagle 写道: 以前没有使用负载均衡时,前台是没有显式的将用户ID传入业务层的, 而是将它设置在线程变量中. 现在使用了两个tomcat, 当一个用户线程从一个tomcat转向另一个时, 他就不能操作他的资源了, 因为线程已经不是原来的那个线程, 其中已经没有了用户ID,这相当于是没有登录的状态. 如果要将用户ID作为一个调用参数传入业务层的话, 接口改动将会很大. 请问各位有什么好的办法可以解决这个问题, 或者是有其它的折衷的方法可以避免对接口的过大程度的修改? 谢谢! 一次request处理跨两个tomcat?? 用户登录信息放在request、线 ...
  • 进入论坛 Java
janh
搜索本博客
博客分类
最近加入圈子
最新评论
评论排行榜