В ответ на ваш вопрос: еще два вопроса. Что вы сериализуете? Справляется ли база данных?
Вы не сериализуете интерфейсы; Вы сериализуете объекты. Сериализуемый вами объект является реализацией IA или IB.
Сериализованный объект должен решить, следует ли сериализовать одно из его свойств. Если свойство нуждается в сериализации , оно должно реализовать интерфейс Serializable.
Вы можете сериализовать так называемый «остров», образованный круговой ссылкой A <-> B, только если база данных может идентифицировать сериализованные объекты: она должна сначала «выделить» пространство для A, начать сериализацию свойств A. Когда он достигнет B, он найдет одно из своих свойств, относящихся к A. Затем сериализация должна включать ссылку на сериализованную версию A.
Это похоже на то, как двое знакомых переезжают в одно и то же время: сначала они обменяются своими будущими адресами, только потом они будут физически двигаться.