Looking at some of the Resource Models in Magento 2, you will find the following class definitions
namespace Magento\Catalog\Model\ResourceModel;
abstract class AbstractResource extends \Magento\Eav\Model\Entity\AbstractEntity
{
...
}
namespace Magento\Customer\Model\ResourceModel;
class Customer extends \Magento\Eav\Model\Entity\VersionControl\AbstractEntity
{
...
}
class Group extends \Magento\Framework\Model\ResourceModel\Db\VersionControl\AbstractDb
{
...
}
class Visitor extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
{
...
}
As you can see, there are VersionControl
abstract classes and regular ones.
\Magento\Eav\Model\Entity\AbstractEntity
\Magento\Eav\Model\Entity\VersionControl\AbstractEntity
\Magento\Framework\Model\ResourceModel\Db\AbstractDb
\Magento\Framework\Model\ResourceModel\Db\VersionControl\AbstractDb
What is the difference between the two? When you create your own entities, should your Resource Models extend from the VersionControl
class or the regular one?