Java 未调用域对象上的hibernate setter
我试图发布这样的请求:Java 未调用域对象上的hibernate setter,java,mysql,eclipse,hibernate,Java,Mysql,Eclipse,Hibernate,我试图发布这样的请求: <event><name>test</name><description>event description</description></event> 我不明白为什么即使描述有效,事件名称的setter也不会被调用。下面是我如何调用我的方法 资源类post方法: ... //add event a method in my service class //getEventName is null,
<event><name>test</name><description>event description</description></event>
我不明白为什么即使描述有效,事件名称的setter也不会被调用。下面是我如何调用我的方法
资源类post方法:
...
//add event a method in my service class
//getEventName is null, getDescription gets description
myservice.addEvent(event.getEventName(),event.getDescription());
...
域类:
@Entity
@Table( name = "events" )
@XmlRootElement(name = "event")
public class Event {
@XmlAttribute
private Long id;
private String eventName;
private String description;
public Event() {
// this form used by Hibernate
}
public Event(String eventName, String description) {
this.description = description;
this.eventName = eventName;
}
@Id
@GeneratedValue(generator="increment")
@GenericGenerator(name="increment", strategy = "increment")
public Long getId() {
return id;
}
private void setId(Long id) {
System.out.println("id " + id); //prints id correctly
this.id = id;
}
@Column(name="name")
public String getEventName() {
return eventName;
}
public void setEventName(String eventName) {
System.out.println("here event" + eventName); //prints nothing
this.eventName = eventName;
}
@Column(name="description")
public String getDescription() {
return description;
}
public void setDescription(String description) {
System.out.println("here desc " + description); //prints correctly
this.description = description;
}
}
控制台中的输出:
here desc event description
id 3
是什么导致我的setEventName被忽略?控制台中未显示任何错误您的属性名为
eventName
。XML使用名为name
的元素。那不匹配。而且您没有自定义XML元素名称而不是使用eventName
的JAXB注释。您的属性名为eventName
。XML使用名为name
的元素。那不匹配。而且您没有定制XML元素名称而不是使用eventName
的JAXB注释。
here desc event description
id 3