diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java
index 3470b74..8ce78bb 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java
@@ -41,7 +41,7 @@ import java.util.List;
import java.util.UUID;
@ExternalizedSqlViaStringTemplate3()
-public interface BundleSqlDao extends Transactional<EventSqlDao>, CloseMe, Transmogrifier {
+public interface BundleSqlDao extends Transactional<BundleSqlDao>, CloseMe, Transmogrifier {
@SqlUpdate
public void insertBundle(@Bind(binder = SubscriptionBundleBinder.class) SubscriptionBundleData bundle);
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
index 3838845..62cefe7 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
@@ -71,9 +71,16 @@ public class EntitlementSqlDao implements EntitlementDao {
}
@Override
- public SubscriptionBundle createSubscriptionBundle(SubscriptionBundleData bundle) {
- bundlesDao.insertBundle(bundle);
- return bundle;
+ public SubscriptionBundle createSubscriptionBundle(final SubscriptionBundleData bundle) {
+ return bundlesDao.inTransaction(new Transaction<SubscriptionBundle, BundleSqlDao>() {
+
+ @Override
+ public SubscriptionBundle inTransaction(BundleSqlDao trans,
+ TransactionStatus status) throws Exception {
+ trans.insertBundle(bundle);
+ return trans.getBundleFromId(bundle.getId().toString());
+ }
+ });
}
@Override