private void insertRecipient( final EmailAddress emailAddress, final RecipientType recipientType, final int index, final long storedEmailId) { long emailAddressId = insertAddress(emailAddress); querydslSupport.execute( (connection, configuration) -> { QEmailRecipient qEmailRecipient = QEmailRecipient.emailRecipient; return new SQLInsertClause(connection, configuration, qEmailRecipient) .set(qEmailRecipient.emailAddressId, emailAddressId) .set(qEmailRecipient.index_, index) .set(qEmailRecipient.storedEmailId, storedEmailId) .set(qEmailRecipient.recipientType, recipientType.name()) .executeWithKey(qEmailRecipient.emailRecipientId); }); }
private List<EmailAddress> readEmailAddress( final long storedEmailId, final RecipientType recipientType) { return querydslSupport.execute( (connection, configuration) -> { QAddress qAddress = QAddress.address1; QEmailRecipient qEmailRecipient = QEmailRecipient.emailRecipient; return new SQLQuery(connection, configuration) .from(qAddress) .join(qEmailRecipient) .on(qEmailRecipient.emailAddressId.eq(qAddress.emailAddressId)) .where( qEmailRecipient .storedEmailId .eq(storedEmailId) .and(qEmailRecipient.recipientType.eq(recipientType.name()))) .orderBy(qEmailRecipient.index_.asc()) .list(Projections.fields(EmailAddress.class, qAddress.personal, qAddress.address)); }); }