hibernate与spring整合 小问题

1,spring不提交事务
sessionFactory的错误,仔细检查,不要理会网上配置autoCommit=true和beanfactory不支持事务注入的问题

2,对象关联丢失
如本人的User对象和Blog对象,总是二者的外键关联丢失,仔细查看代码和研究Spring源码,发现,自己原先的HibernateSessionFactory和spring使用的LocalSessionFactoryBean使用混乱,
在HibernateTransactionManager中总是用LocalSessionFactoryBean的buildSession()来获取Session,两个对象在不同的session中,而且原来我根据网上的配置autoCommit=true了,所以都提交了,且丢失了关联,全部是用hibernateTemplate后,都是用LocalSessionFactoryBean了,这样就保持一致了.

3,Dao的设计以及泛型
江南白衣的这篇文章最为经典,如何获取T.class
http://heshencao.iteye.com/blog/374291

这里解释一下,T.class的问题,按江南白衣的博文来看
[quote]Class < T > entityClass = (Class < T > ) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[ 0 ]; [/quote]

有同学说这样不是要继承一个类吗,确实如白衣博文最后说的,这就是擦拭的泛型问题所在,T.class作为一个运行时类型,在java是无法获取的,为什么上面的引用代码就能呢,
因为他不再是运行时类型了,而是一个写死在
[quote]public class BookDao extends BaseHibernateEntityDao < Book > [/quote]

BaseHibernateEntityDao < Book > 很显然都确定了类型,所以java能够获得T.class


个人愚见,代码混乱的修改中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值