【发布时间】:2012-11-14 22:48:50
【问题描述】:
使用 JSF 和 JPA 开发应用程序。
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
Bill 是父类,是 OpdBill、PharmacyBill 等的子类。
多个用户可能会尝试同时持久化。
为 Bill 类生成序列号很容易,但这在功能中不是必需的。 我们如何为子类单独自动生成序列号? (不需要ID,只要序列号)
【问题讨论】:
-
如果OpdBill也是一个Bill,那么一个OpdBill-instance会有两个ID?这就是你想要的吗?
-
OPD 是一个独立的部门。他们想要单独的序列号。实验室是一个独立的部门,他们想要有自己的号码。尽管管理层在大多数报告中将所有账单一起分析,但不需要为账单设置单独的序列号。我使用单表继承。
-
@BuddhikaAriyaratne 你的部门都傻了。序列号应该或多或少是任意的,您可以保证的唯一约束是它们将严格单调递增。例如,不可能保证 ID 序列中没有任何间隙。中止的事务将导致这些,防止它们的唯一方法是使数据库操作同步并降低性能。
标签: java jakarta-ee jpa persistent