문제 구현을 얻을 나머지 부분으로 인하여 서비스 JAXBException:IllegalAnnotationExceptions

StackOverflow https://stackoverflow.com/questions/3213908

문제

나는 정말 이상한 문제 구현 Java 나머지는 서비스입니다.내가 노력하고 다음과 같은 모델:

@Data @EqualsAndHashCode(callSuper=false, of={"primaryKey"}) 
@Entity @Table(name = "T_UNIQUE_IDENT_TYPE")
@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@XmlRootElement(name="UniqueIdentifierType") @XmlAccessorType(XmlAccessType.FIELD)
public class UniqueIdentifierType extends AbstractEntityWithTime implements Serializable {
    private static final long serialVersionUID = 1L;    
    @Id @Basic(optional = false) @Column(name = "F_TYPE_PK") @XmlTransient
    @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="S_UNIQUE_IDENT_TYPE") @SequenceGenerator(name="S_UNIQUE_IDENT_TYPE",sequenceName="S_UNIQUE_IDENT_TYPE") 
    private Long primaryKey;
    @Column(name = "F_NAME", nullable=false, length=50)
    private String typeName;
    @Basic(optional = false) @Column(name = "F_CREATION_TIME") @Temporal(TemporalType.TIMESTAMP) @XmlTransient
    private Calendar creationTime;
    @Basic(optional = false) @Column(name = "F_LASTMODIFY_TIME") @Temporal(TemporalType.TIMESTAMP) @XmlTransient
    private Calendar lastModifyTime;
    @JoinColumn(name = "F_UNIT_PK", referencedColumnName = "F_UNIT_PK") @ManyToOne(optional = false) @XmlTransient
    private SoftwareProviderUnit softwareProviderUnit;
}

내 얻을 나머지는 서비스는 다음과 같은 서명:

@GET 
@Path("/{name}") 
public UniqueIdentifierType get(@PathParam("unitId") final Long unitId, @PathParam("name") final String name) throws WebApplicationException {

때마다 나는 통화에서 이 서비스를 받을 500 오류가 포함

java.lang.AssertionError: JAXBException occurred : 2 counts of IllegalAnnotationExceptions

나는 아래로 추적 할 수 있을 다음과 같은 두 가지 오류가 있습니다:

javassist.util.proxy.MethodHandler is an interface, and JAXB can't handle interfaces.
    this problem is related to the following location:
        at javassist.util.proxy.MethodHandler
        at private javassist.util.proxy.MethodHandler com.rp.central.model.UniqueIdentifierType_$$_javassist_21.handler
        at com.rp.central.model.UniqueIdentifierType_$$_javassist_21

javassist.util.proxy.MethodHandler does not have a no-arg default constructor.
    this problem is related to the following location:
        at javassist.util.proxy.MethodHandler
        at private javassist.util.proxy.MethodHandler com.rp.central.model.UniqueIdentifierType_$$_javassist_21.handler
        at com.rp.central.model.UniqueIdentifierType_$$_javassist_21

이상한 것은 변경하는 경우 GET 메서드 서명하는 목록을 반환 난 200JSON 보기 객체의 모든 분야 을 제외한 형태 분야.나는 추측에서는 예외가 어떻게 든 관련된 분야이다.나도 추가 명시적이 필요한 것입 등

@XmlElement(name="typeName")
public String getTypeName() {
    return typeName;
}

하려고 힘을 보낼형 이름,이 유형을 가져옵 이름으로"목록의"버전을 얻는 방법 하지만 여전히 반환 500 을 위한 비록 하나입니다.이상한 것은 내가 다른 모델을 정확하게 보과 같이 하나의와 문제없이 작동합니다.나는 두드리는 내 머리에 대하여 이에 대한 어떤 도움이 될 것입니다 크게 감사합니다.

감사합니다.

도움이 되었습니까?

해결책

예외를 명확하게 말한 것을 포함할 수 없수 h UniqueIdentifierType, 기 때문에,개체 배열된 실제로 클래스의 인스턴스에 의해 강화된 Javassist(com.rp.central.model.UniqueIdentifierType_$$_javassist_21고),는 등 필드를 포함(추가 Javassist)할 수 없습니다 하는 배열된.아마,ehancement 가에 의해 수행하 ORM 도구입니다.

가장 확실한 솔루션을 반환의 새로운 복사본을 개체입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top