如何基于不同的实体

时间:2018-02-27 13:04:35

标签: java hibernate

我创建了两个获取方法

  1. 获取发票明细
  2. 获取销售订单明细
  3. 我将结果集作为列表。 我需要通过传递发票,销售等参数来创建发送电子邮件(电子邮件方法应该是通用的)的通用方法来发送电子邮件,而不创建公共实体是否有任何其他方法来解决此问题。 任何人都可以帮助我吗?

        List<Tableinvoiceheader> inv_List=rpc.getInvoiceDetails();
        List<TableSalesorder> sales_List=rpc.getsalesDetails();
     --email trigger method
         mailObj.sendemailMessage(From,to,subject,body,"(Generic object)");
    

    通用对象可以是salesdetails或invoicedetails

1 个答案:

答案 0 :(得分:0)

不确定您是否创建通用实体是什么意思。这是一种方式:

首先需要创建一个java接口,用于将对象转换为适合电子邮件的文本。我们称之为接口电子邮件

示例原型质量代码:

public interface TextForEmail {

String getText();
}

您的InvoiceDetailSalesDetail类应该实现此接口。他们的实现应该采用各自的对象属性并将其转换为适合电子邮件文本的文本。

您的sendMailMessage签名需要接受接口作为参数,即通用对象。如果您选择,也可以执行界面列表。

然后你应该调用sendMailMessage传递SalesDetails或InvoiceDetails或两者(取决于你如何将sendMailMessage实现为你的“通用对象”,以及你的通用对象列表中的内容)作为参数。

然后,您的sendMailMessage实现需要调用 getText 方法来获取文本,并根据需要将其附加到电子邮件中。

希望这有帮助。