我有两个实体类:
@Entity(tableName = "work_orders")
public class WorkOrderEntity
{
@PrimaryKey(autoGenerate = true)
private long id;
...
}
@Entity(tableName = "activity_logs", foreignKeys = {
@ForeignKey(entity = WorkOrderEntity.class, parentColumns = "id", childColumns = "work_order_id") })
public class ActivityLogEntity
{
@PrimaryKey(autoGenerate = true)
private long id;
@ColumnInfo(name = "work_order_id")
private long workOrderId;
...
}
是否可以在一个事务中的工单和活动日志表中插入记录?像这样的:
@Transaction
public void insertBoth(WorkOrderEntity workOrderEntity, ActivityLogEntity activityLogEntity)
{
insertWorkOrder(workOrderEntity);
insertActivityLog(activityLogEntity);
}
考虑外键约束。
这里有类似的问题,但没有详细的答案
最佳答案
我想出了这个解决方案:
@Transaction
public void insertBoth(WorkOrderEntity workOrderEntity, ActivityLogEntity activityLogEntity)
{
long workOrderId = insertWorkOrder(workOrderEntity);
activityLogEntity.setWorkOrderId(workOrderId);
insertActivityLog(activityLogEntity);
}