无法在TransientObjectException上标记回滚:: java.lang.IllegalStateException:ARJUNA-16072没有此类事务

时间:2016-07-05 07:32:20

标签: hibernate jpa

尝试在jsf中选择一个组合时出现此错误。日志的简历是这样的:

ERROR [org.hibernate.ejb.AbstractEntityManagerImpl] Unable to mark for rollback on TransientObjectException: : java.lang.IllegalStateException: ARJUNA-16072 No such transaction!


ERROR [STDERR] javax.el.ELException: /includes/tramite_solicitud_documentos.inc.xhtml @7,89 value="#{documentosTramiteSolicitudConvocatoriaBean.entitiesByRelation}": javax.ejb.EJBException: java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: es.ual.sgi.model.entity.TramiteSolicitudConvocatoria

和TramiteSolicitudConvocatoria类是:

@Entity
@Table(name="SGIT_TRAMITES_SOLICITUDCONV")
public class TramiteSolicitudConvocatoria implements Serializable {
    private static final long serialVersionUID = 1L;

@Id
@SequenceGenerator(name="SGIT_TRAMITES_SOLICITUDCONV_IDTRAMITESOLICITUDCONVOCATORIA_GENERATOR", sequenceName="SGIS_TRAMITES_SOLICITUDCONV", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SGIT_TRAMITES_SOLICITUDCONV_IDTRAMITESOLICITUDCONVOCATORIA_GENERATOR")
@Column(name="Y_ID")
private long idTramiteSolicitudConvocatoria;

@Column(name="D_OBSERVACIONES")
private String observaciones;

@Temporal( TemporalType.TIMESTAMP)
@Column(name="F_ACTUAL")
private Date actual;

@Temporal( TemporalType.DATE)
@Column(name="F_AVISO")
private Date fechaAviso;

@Temporal( TemporalType.DATE)
@Column(name="F_FIN")
private Date fin;

@Temporal( TemporalType.DATE)
@Column(name="F_INICIO")
private Date inicio;

@Temporal( TemporalType.DATE)
@Column(name="F_LIMITE")
private Date limite;

@Column(name="L_RESOLUCION_FAVORABLE")
private Boolean resolucionFavorable;

//one-to-many association to DocumentoTramiteSolicitudConvocatoria
@OneToMany(mappedBy="tramitesSolicitudConvocatoria")
private Set<DocumentoTramiteSolicitudConvocatoria> documentosTramiteSolicitudConvocatoriua;

//bi-directional many-to-one association to Nodo
@ManyToOne
@JoinColumn(name="Y_ID_NODO")    
private Nodo nodo;

//bi-directional many-to-one association to SolicitudConvocatoria
@ManyToOne
@JoinColumn(name="Y_ID_SOLICITUDCONV")    
private SolicitudConvocatoria solicitudConvocatoria;

//bi-directional many-to-one association to Usuario
@ManyToOne
@JoinColumn(name="Y_ID_USUARIO")  
private Usuario usuario;

public TramiteSolicitudConvocatoria() {
}

public long getIdTramiteSolicitudConvocatoria() {
    return this.idTramiteSolicitudConvocatoria;
}

public void setIdTramiteSolicitudConvocatoria(long idTramiteSolicitudConvocatoria) {
    this.idTramiteSolicitudConvocatoria = idTramiteSolicitudConvocatoria;
}

public String getObservaciones() {
    return this.observaciones;
}

public void setObservaciones(String observaciones) {
    this.observaciones = observaciones;
}

public Date getActual() {
    return this.actual;
}

public void setActual(Date actual) {
    this.actual = actual;
}

public Date getFin() {
    return this.fin;
}

public void setFin(Date fin) {
    this.fin = fin;
}

public Date getInicio() {
    return this.inicio;
}

public void setInicio(Date inicio) {
    this.inicio = inicio;
}

public Date getLimite() {
    return this.limite;
}

public void setLimite(Date limite) {
    this.limite = limite;
}

public Boolean getResolucionFavorable() {
    return this.resolucionFavorable;
}

public void setResolucionFavorable(Boolean resolucionFavorable) {
    this.resolucionFavorable = resolucionFavorable;
}

public Set<DocumentoTramiteSolicitudConvocatoria> getDocumentosTramiteSolicitudConvocatoriua() {
    return this.documentosTramiteSolicitudConvocatoriua;
}

public void setDocumentosTramiteSolicitudConvocatoriua(Set<DocumentoTramiteSolicitudConvocatoria> documentosTramiteSolicitudConvocatoriua) {
    this.documentosTramiteSolicitudConvocatoriua = documentosTramiteSolicitudConvocatoriua;
}

public Nodo getNodo() {
    return this.nodo;
}

public void setNodo(Nodo nodo) {
    this.nodo = nodo;
}

public SolicitudConvocatoria getSolicitudConvocatoria() {
    return this.solicitudConvocatoria;
}

public void setSolicitudConvocatoria(SolicitudConvocatoria solicitudConvocatoria) {
    this.solicitudConvocatoria = solicitudConvocatoria;
}

public Date getFechaAviso() {
    return fechaAviso;
}

public void setFechaAviso(Date fechaAviso) {
    this.fechaAviso = fechaAviso;
}

public Usuario getUsuario() {
    return usuario;
}

public void setUsuario(Usuario usuario) {
    this.usuario = usuario;
}

}

我已经读过这个问题位于无法预先保存的对象中。

我尝试将属性“cascade = CascadeType.ALL”放入实体类但不运行

我需要解决问题,但我不知道在哪里。

感谢!!!

0 个答案:

没有答案