因为有自定义ID,所以要使用UPDATE SET MAX(COUNT)+1来生成,已知似乎HQL不支持除SELECT和WHERE后的子查询,而用源生SQL的话又要改写很多很多很多,所以查询了HIBERNATE自定义ID的方法,却始终找不到一个比较靠谱的,所以麻烦大神们助我。
PS:也有考虑过加锁防止并发,但是加锁的开销我觉得有点得不偿失,如果大大们有这方面的建议,也请详细说明谢谢
PS:也有考虑过加锁防止并发,但是加锁的开销我觉得有点得不偿失,如果大大们有这方面的建议,也请详细说明谢谢
解决方案 »
- CAS单点登录的一个异常求解
- java读取带格式的word文件,替换可变内容并保存
- jxl导出Excel设置背景色错行
- hibernate 一对多的双向关联 数据添加
- struts web设计与开发大全 二手书
- 我想通过一次比赛来提高自已,但是这个题一些细节问题看不懂,请个位高手指点一下!!
- Spring的小问题
- 有没有自动生成SQL的开源JDBC工具?
- 固定表头的分页打印?
- jbuilder + weblogic 做Session bean 出错,急呀!!!
- HibernateDaoSupport 与 SqlMapClientDaoSupport有什么区别??
- 怎样保证新增数据的ID不是已删除数据的ID?
2 可以把ID作为自动产生的,类似于Timestamp,你可以通过触发器来实现ID的赋值,让Hibernate只负责读取,不能更新。
1.我現在是這樣做的,但是如果有幷發,因為我先SELECT MAX后INSERT,會有DUPLICATE產生,如果用鎖什麽的去控制,是不是得不償失?
2.你說的自動產生是在MYSQL層么?如果是的話,因為我的自增ID是有條件自增,另外還是有純自增的無意義ID的。那麼你說通過觸發器來賦值,是不是要重寫HIBERNATE的方法?有沒有文章推薦呢?