2 Stimmen

JAXB-Marshalling gibt einige Werte für diese Domänenobjekte nicht zurück

Ich habe eine Rollendomänenklasse, die ich vereinfacht habe, um den Fall hier zu illustrieren:

@XmlRootElement(name="Role")
@XmlAccessorType(XmlAccessType.NONE) 
public class Role implements Comparable
{
    @XmlElement
    String title = ""
}

Ich habe einige Code zu testen, Marshalling diese Domain-Klasse, die ist :

try {
        employee.getProjects().each{ proj -> 
            println "Project name :" + proj.name
            proj.getRoles().each{

                println ("Role title:" + it.title)
                context = JAXBContext.newInstance(Role.class);
                Marshaller m = context.createMarshaller();
                m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
                m.marshal ((Role)it, System.out)

            }
        }

    }catch (JAXBException e){
        e.printStackTrace();
        println(e.getCause())
        println ("Ever getting here?")
    }

Wie Sie sehen können, habe ich einige andere Klassen, wo dies kommt aus, Mitarbeiter hat viele Projekte, Projekt hat viele Rollen

Wenn ich diese Methode ausführe, erhalte ich folgende Meldung:

Project name :Project 1
Role title:Software Engineer1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Role>
    <title></title>
</Role>
Project name :Project 2
Role title:Software Engineer2
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Role>
    <title></title>
</Role>
Project name :Project 3
Role title:Software Engineer3
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Role>
    <title>Software Engineer3</title>
</Role>

Was ist hier eigentlich los? Dies treibt mich verrückt, dass es eindeutig weiß, marshalling Titel zu sein, und die Werte sind da - ich kann PRINT sie aber noch sie arent zeigt wthi avlues in der XML

2voto

Derek Punkte 11437

Es hat den Anschein, dass es sich dabei um ein Problem mit dem "Lazy Loading" im Ruhezustand handelt. Ich versuche, herauszufinden, wie man faules Laden für mein ganzes Projekt in der Hibernate Grails-Konfiguration deaktivieren. Abgesehen davon scheint es, dass ich in der Lage sein sollte, das Problem mit expliziten Getter/Setter zu umgehen, aber das ist nicht sehr groovy.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X