java-手动使用Hibernate序列生成器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-手动使用Hibernate序列生成器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1064字,纯文字阅读大概需要2分钟。
内容图文
基本上,我想要一种以与数据库无关的方式访问序列值的方法.
用例是我要基于递增值(而不是ID)在实体上设置字段.
例如,假设我有一个货运实体.在创建装运后的某个时候,它将装运.发货后,将为其生成清单编号并进行分配.清单编号看起来像M000009(其中“ M”之后的内容是序列中的左填充值).
有人问类似的问题here at SO,但是我不喜欢该解决方案,因为它需要维护另一个表,并且看起来像是一个奇怪的关系.
有谁知道是否可以将休眠的MultipleHiLoPerTableGenerator之类的东西用作ID生成器以外的东西?
如果那是不可能的,那么有谁知道任何处理此问题的库(使用休眠或什至仅使用纯JDBC).我不想自己写这个(而不必处理预取值,锁定和同步).
谢谢.
解决方法:
我认为您的任务的复杂性取决于清单编号是否需要连续:
>如果您不需要顺序的清单编号,那么现在是快乐的日子,可以使用顺序.
>如果确实需要顺序清单编号(或者您的数据库不支持序列),请使用具有适当锁定的id表,以便每个事务都获得唯一的顺序值.
然后,您有2个可以想到的选项:
>在客户端上编写必要的JDBC代码,确保(如果清单编号是连续的)使用的事务与数据库更新的事务相同.
>在适当的更新发生时,使用触发器来创建清单编号.
我认为我的偏好是触发因素,因为事务的事务方面会得到照顾,尽管这意味着对象需要在客户端上刷新.
内容总结
以上是互联网集市为您收集整理的java-手动使用Hibernate序列生成器全部内容,希望文章能够帮你解决java-手动使用Hibernate序列生成器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。