Object 按实体内序列化对象的属性进行doctrine2 dql查询

Object 按实体内序列化对象的属性进行doctrine2 dql查询,object,serialization,dql,doctrine-orm,Object,Serialization,Dql,Doctrine Orm,我有一个具有“object”类型列的实体。我希望能够通过该对象的属性(比如id)检索该实体。例如,查询将如下所示: $em->createQuery('SELECT e FROM Entity_Class e SOME_MAGIC e.object o WHERE o.id = ?1'); 问题是,dql中是否有一些神奇之处?这不可能使用serialize()将对象类型列序列化到CLOB字段中。无法查询它的子属性。这不可能使用serialize()将对象类型列序列化为CLOB字段。无法查

我有一个具有“object”类型列的实体。我希望能够通过该对象的属性(比如id)检索该实体。例如,查询将如下所示:

$em->createQuery('SELECT e FROM Entity_Class e SOME_MAGIC e.object o WHERE o.id = ?1');

问题是,dql中是否有一些神奇之处?

这不可能使用serialize()将对象类型列序列化到CLOB字段中。无法查询它的子属性。

这不可能使用serialize()将对象类型列序列化为CLOB字段。无法查询它的子属性。

一个可能的解决方案,但不是最佳的解决方案是使用类似的表达式:

 $qb->add($qb->expr()->like("e.column", $qb->expr()->literal("%text_to_search%")));

因为在某些RDBMS的原则2中,对象是持久的长文本类型,而不是CLOB或BLOB。

一个可能的解决方案,但不是最佳的解决方案是使用类似的表达式:

 $qb->add($qb->expr()->like("e.column", $qb->expr()->literal("%text_to_search%")));
因为在某些RDBMS的原则2中,对象是持久的长文本类型,而不是CLOB或BLOB