Как настроить сущности Doctrine для обработки сжатых больших двоичных объектов в базе данных? - PullRequest
2 голосов
/ 08 марта 2012

Я использую Doctrine 2 в качестве ORM для базы данных, и у меня возникла проблема со сжатыми BLOB-объектами.

Я храню текст в столбце сжатых BLOB-объектов в базе данных.Как я могу указать это в конфигурации сопоставления сущностей XML?В настоящее время я использую type="blob" для этого столбца, но это не возвращает строку.Я мог бы использовать type="text", но это возвращает мусор, поскольку он не распаковывает его.

Могу ли я указать где-нибудь в моей конфигурации объекта, что этот текст должен распаковываться при извлечении и сжатии при сохранении?

Вот мойконфигурация объекта:

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
    http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">

    <entity name="AccountNote" table="tblAccountNote">
        <id name="intAccountNoteId" type="integer">
            <generator strategy="AUTO" />
        </id>
        <field name="intAccountId" type="integer" nullable="false" unique="no" />
        <field name="bolHiddenNote" type="boolean" nullable="false" unique="no" />
        <field name="binNote" type="blob" nullable="false" unique="no" />
        <field name="strHash" type="string" length="32" nullable="true" unique="no" />
        <field name="dtmCreated"   type="datetime" nullable="false" unique="no" />
        <field name="stmTimestamp" type="datetime" nullable="false" unique="no" />
        <many-to-one field="objAccount" target-entity="Account" inversed-by="objNotes">
            <join-column name="intAccountId" referenced-column-name="intAccountId" />
        </many-to-one>
    </entity>

</doctrine-mapping>

1 Ответ

3 голосов
/ 28 октября 2012

В итоге мы решили обработать сжатие в геттере и сеттере и удалить его из схемы.

...