XStream , как сериализовать коллеции без дополнительной информации?

407
03 июня 2017, 15:15

Сериализую при помощи XStream мой Entity Class из Hibernate private static

String objectToXML(Object object)
    {
        XStream xStream = new XStream();
        return xStream.toXML(object);
    }

При сериализации коллекции появляется много не нужной информации :

<server.dao.entities.CustomerEntity>
    <idCustomer>64</idCustomer>
    <firstName>empty</firstName>
    <lastName>1</lastName>
    <creditCards class="org.hibernate.collection.internal.PersistentBag">
        <initialized>true</initialized>
        <owner class="server.dao.entities.CustomerEntity" reference="../.."></owner>
        <cachedSize>-1</cachedSize>
        <role>server.dao.entities.CustomerEntity.creditCards</role>
        <key class="int">64</key>
        <dirty>false</dirty>
        <storedSnapshot class="list">
            <server.dao.entities.CreditCardEntity>
                <numberCard>123124125215215</numberCard>
                <date>2012-10-10</date>
                <customer reference="../../../.."></customer>
            </server.dao.entities.CreditCardEntity>
        </storedSnapshot>
        <allowLoadOutsideTransaction>false</allowLoadOutsideTransaction>
        <bag>
            <server.dao.entities.CreditCardEntity reference="../../storedSnapshot/server.dao.entities.CreditCardEntity"></server.dao.entities.CreditCardEntity>
        </bag>
    </creditCards>
    <orders class="org.hibernate.collection.internal.PersistentBag">
        <initialized>true</initialized>
        <owner class="server.dao.entities.CustomerEntity" reference="../.."></owner>
        <cachedSize>-1</cachedSize>
        <role>server.dao.entities.CustomerEntity.orders</role>
        <key class="int">64</key>
        <dirty>false</dirty>
        <storedSnapshot class="list"></storedSnapshot>
        <allowLoadOutsideTransaction>false</allowLoadOutsideTransaction>
        <bag></bag>
    </orders>
</server.dao.entities.CustomerEntity>

Нужно , чтобы получилось примерно так :

<CustomerEntity>
    <idCustomer>64</idCustomer>
    <firstName>empty</firstName>
    <lastName>1</lastName>
    <creditCards>
            <CreditCardEntity>
                <numberCard>123124125215215</numberCard>
                <date>2012-10-10</date>
                <customer reference="../../../.."></customer>
            <CreditCardEntity>
    </creditCards>
    <orders >
    </orders>
</CustomerEntity>
READ ALSO
Поиск разницы между датами

Поиск разницы между датами

Должен написать многопоточную программуОдин из этапов разработки - поиск разницы во времени (разница может быть в годах, в месяцах или днях,...

474
Подскажите, как реализовать поиск по sub item [требует правки]

Подскажите, как реализовать поиск по sub item [требует правки]

По основному все вышло прекрасно с помощью getFilter, а вот как проделать то же с sub items понять не могу

259
Сравнение строк не происходит [дубликат]

Сравнение строк не происходит [дубликат]

На данный вопрос уже ответили:

291
Как выровнять символы в строке?

Как выровнять символы в строке?

Есть массив строкНужно чтобы каждая строка начиналась с одного из наборов:

338