Migração para Openshift com JBoss 7 - tomei um detached entity passed to persist

Olá pessoal,

Recentemente migrei um sistema Tomcat para o Openshift. Eles tem uma plataforma que cria automaticamente um sistema basicão configurado com JBoss 7, hsqldb e hibernate.

Mas no Tomcat, quando salvava um usuário, não acontecia isso:Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: br.com.xxx.webcomponents.model.Role at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:126) [hibernate-core-4.0.0.CR2.jar:4.0.0.CR2] at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:721) [hibernate-core-4.0.0.CR2.jar:4.0.0.CR2] at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:714) [hibernate-core-4.0.0.CR2.jar:4.0.0.CR2] (...)Role.class:[code]@Entity
@Table(name = “tb_role”)
public class Role {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(unique = true, nullable = false)
private Integer id;
    (...)
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "tb_user_role", joinColumns = { @JoinColumn(name = "role_id", referencedColumnName = "id") }, inverseJoinColumns = { @JoinColumn(name = "user_id", referencedColumnName = "id") })
private Set<User> userRoles;

[/code] User.class:[code]@Entity
@Table(name = “tb_user”)
public class User {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(unique = true, nullable = false)
private Integer id;
    (...)
@OneToOne(cascade = CascadeType.ALL)
@JoinTable(name = "tb_user_role", joinColumns = { @JoinColumn(name = "user_id", referencedColumnName = "id") }, inverseJoinColumns = { @JoinColumn(name = "role_id", referencedColumnName = "id") })
private Role role;[/code] Primeiro eu salvo a role, depois salvo o usuário com ela. Pelo que já li por aí, isso é porque eu estou salvando de novo a role no banco, mas não entendi como tem que fazer pra salvar o usuário. A role não tem que estar inserida nele oras?

E porque estava funcionando de boa no projeto no tomcat e agora está com problemas? É a versão do hibernate (4.2.3.Final)?

Estou com o mesmo problema. Você conseguiu solucionar?