JavaでWebシステムを開発するための休止状態について学習し始めましたが、マッピングに問題がありますクラスの使用。(org.hibernate.LazyInitializationException)org.hibernate.LazyInitializationException:プロキシを初期化できませんでした - セッションなし
私は2つのテーブルを持っています:tblusuarioとtblperfilusuario、tblusuarioはtblperfilusuarioで外部キーを作成します。つまり、ユーザーはプロフィールです。
のPostgresデータベースを使用して+ NetBeansと4.3.1
TblUsuarioエンティティを休止:
@Entity
@Table(name = "tblusuario", schema = "public")
@AttributeOverride(name = "id", column = @Column(name = "codigousuario"))
@SequenceGenerator(name = "id_sequence",
sequenceName = "tblusuario_codigousuario_seq",
allocationSize = 1)
public class TblUsuario extends BaseEntityInt {
private TblPerfilUsuario tblperfilusuario;
private String nome;
private String usuario;
private String senha;
public TblUsuario() {
}
public TblUsuario(String nome, String usuario, String senha) {
this.nome = nome;
this.usuario = usuario;
this.senha = senha;
}
public TblUsuario(TblPerfilUsuario tblperfilusuario, String nome, String usuario, String senha) {
this.tblperfilusuario = tblperfilusuario;
this.nome = nome;
this.usuario = usuario;
this.senha = senha;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "codigoperfilusuario")
public TblPerfilUsuario getTblperfilusuario() {
return this.tblperfilusuario;
}
public void setTblperfilusuario(TblPerfilUsuario tblperfilusuario) {
this.tblperfilusuario = tblperfilusuario;
}
@Column(name = "nome", nullable = false, length = 100)
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Column(name = "usuario", nullable = false, length = 40)
public String getUsuario() {
return this.usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
@Column(name = "senha", nullable = false, length = 20)
public String getSenha() {
return this.senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}
TblPerfilUsuarioエンティティを:
@Entity
@Table(name = "tblperfilusuario", schema = "public")
@AttributeOverride(name = "id", column = @Column(name = "codigoperfilusuario"))
@SequenceGenerator(name = "id_sequence",
sequenceName = "tblperfilusuario_codigoperfilusuario_seq",
allocationSize = 1)
public class TblPerfilUsuario extends BaseEntityInt {
private String nome;
private boolean ativo;
private Set<TblUsuario> tblusuarios = new HashSet(0);
public TblPerfilUsuario() {
}
public TblPerfilUsuario(String nome, boolean ativo) {
this.nome = nome;
this.ativo = ativo;
}
public TblPerfilUsuario(String nome, boolean ativo, Set<TblUsuario> tblusuarios) {
this.nome = nome;
this.ativo = ativo;
this.tblusuarios = tblusuarios;
}
@Column(name = "nome", nullable = false, length = 100)
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Column(name = "ativo", nullable = false)
public boolean isAtivo() {
return this.ativo;
}
public void setAtivo(boolean ativo) {
this.ativo = ativo;
}
@OneToMany(fetch = FetchType.LAZY, mappedBy = "tblperfilusuario")
public Set<TblUsuario> getTblusuarios() {
return this.tblusuarios;
}
public void setTblusuarios(Set<TblUsuario> tblusuarios) {
this.tblusuarios = tblusuarios;
}
}
私はTblUsuario.tblperfilusuarioを使用しようとするたびに。 getNome()に次のエラーが発生しました:
e = (org.hibernate.LazyInitializationException) org.hibernate.LazyInitializationException: could not initialize proxy - no Session
ご協力いただきますようお願い申し上げます。ありがとう