如何强制ejb3从数据库重新加载值而不使用上下文中的值

时间:2010-12-24 19:40:57

标签: jpa java-ee ejb-3.0 java-ee-6

你好,我有一个很大的问题,希望能找到帮助 这里我有两个实体

@Entity

@Inheritance(strategy=InheritanceType.JOINED)

@DiscriminatorColumn(name="Role", discriminatorType=DiscriminatorType.STRING) public class Utilisateur implements Serializable {

private static final long serialVersionUID = 1L;

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name="id")
private Long id;
@Column(name="nom",nullable=false)
private String nom;


@Column(name="Role",nullable=false, insertable=false)
private String Role ;

//... }

@Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="id") private Long id; @Column(name="nom",nullable=false) private String nom; @Column(name="Role",nullable=false, insertable=false) private String Role ;

@Table(名称= “ResCom”) @DiscriminatorValue( “ResCom”) 公共类ResCom扩展了Utilisateur {

/ ...

}

我做的第一件事

@Entity

我检查我的数据库我看到该属性是ResCom insert

但是当我检查角色的值时我得到了空

ResCom rsCom= new ResCom(nom,prenom, email,civilite,
                     SysQl.crypePasse(pass));
 gr.create(rsCom);

但在我的低音中,ResCom !!!!!

alt text

当我再次部署项目时,问题就消失了

我希望你有一个解决方案

提前谢谢你

抱歉我的英文

1 个答案:

答案 0 :(得分:6)

如果没有看到你如何坚持,加载你的实体,我建议使用实体管理器的刷新方法。像,

entityManager.refresh(yourEntity);