gpt4 book ai didi

xml - JAXB编码没有为这些域对象返回某些值

转载 作者:行者123 更新时间:2023-12-02 14:05:07 29 4
gpt4 key购买 nike

我有一个Role域类,在这里我已经简化了它以说明这种情况:

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

我有一些代码来测试将这个域类编码为:
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?")
}

如您所见,我还有其他一些类(class)来自那里,员工hasmany项目,项目hasmany角色

当我运行此方法时,我得到以下信息:
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>

这里发生了什么?这让我发疯了,它显然知道可以编码标题,并且值在那里-我可以打印它们,但是它们并没有在XML中显示大量内容

最佳答案

看来这是一个休眠的延迟加载问题。我试图找出如何在休眠grails配置中关闭整个项目的延迟加载。除非如此,看来我应该可以使用显式的getter / setter解决该问题,但这不是很麻烦。

关于xml - JAXB编码没有为这些域对象返回某些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4092124/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com