我对以下用例有架构问题。
我有一个用于创建 JPA 实体的 JSF 页面,例如订单。
Order 实体有两个字段:invoiceRecipient 和receiver。两种类型的客户。
Order 表单上有两个字段,每个字段都有一个按钮,用于打开一个选择列表,用于从 customerSelectionController 中选择一个客户。
当客户被选中时,customerSelectionController bean 会执行以下操作:
@Inject
@Selected
Event<Customer> customerSelectedEvent;
public void select(Customer customer) {
customerSelectedEvent.fire(customer);
}
并且 orderFormController 用
public void customerSelected(@Observes @Selected Customer customer) {
}
这就是问题所在 ^^ orderFormController 知道客户已被选中,但它是打算设置为 invoiceRecipient 还是订单的接收者?
我知道您可以指定更准确的限定符,例如 @SelectedAsInvoiceRecipient 但这真的是如何做到这一点的方法吗?
我是否应该将 customerSelectionController bean 复制为 invoiceRecipientSelectionController 和 receiverSelectionController 并让它们触发不同的合格客户实体?
我也在使用支持 GroupedConversations 和其他复杂事物的 Apache Deltaspike,但我找不到如何实现这一点的指定规则。
谢谢你的帮助