2017-09-02 8 views
-1

マッピングとクラスにはハイバネートを使用していますが、エラーが表示されます。私のマッピングは、1人の学生が多くの学校の科目を持っていることです。私は最初に私はポストグルを使用してデータベースを作る。ありがとう!hibernateを使用して「リフレクトでフィールド値を取得できませんでした」エラー

CREATE TABLE aluno 
(
    idAluno serial, 
    datanascimento date, 
    matricula character varying(255), 
    nome character varying(255), 
    CONSTRAINT pkAluno PRIMARY KEY (idAluno) 
); 

CREATE TABLE materiaaluno 
(
    idCurso serial, 
    nome character varying(255), 
    idAluno integer NOT NULL, 
    CONSTRAINT pkMateriAluno PRIMARY KEY (idcurso), 
    CONSTRAINT fkAluno FOREIGN KEY(idAluno) REFERENCES aluno(idAluno) 
); 

警告:#{alunoBean.salvar()}のjava.lang.Exception:modelo.Materia.idcurso javax.faces.FacesExceptionの反射ゲッターによってフィールド値を取得できませんでした:#{ alunoBean.salvar()}のjava.lang.Exception:modelo.Materia.idcursoの反射ゲッターによってフィールド値を得ることができなかった

Alunoクラス

package modelo; 

import java.io.Serializable; 
import java.util.Date; 
import java.util.List; 
import java.util.Objects; 
import javax.persistence.CascadeType; 
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 
import javax.persistence.OneToMany; 
import javax.persistence.Table; 
import javax.persistence.Temporal; 
import javax.persistence.TemporalType; 

@Entity 
@Table(name = "aluno") 
public class Aluno implements Serializable { 

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Column(name = "idaluno") 
private Integer idaluno; 

@Column(name = "nome") 
private String nome; 

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

@Column(name = "matricula") 
private String matricula; 

@OneToMany(mappedBy = "aluno", cascade = CascadeType.ALL) 
private List<Materia> materias; 

// contructors, getters and setters 

} 

マーテルIAクラス

package modelo; 

import java.io.Serializable; 
import java.util.Objects; 
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.FetchType; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 
import javax.persistence.JoinColumn; 

import javax.persistence.ManyToOne; 
import javax.persistence.Table; 

@Entity 
@Table(name = "materiaaluno") 
public class Materia implements Serializable { 

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Column(name = "idcurso") 
private Integer idcurso; 

@Column(name = "nome") 
private String nome; 

@ManyToOne(fetch = FetchType.LAZY) 
@JoinColumn(name = "idaluno") 
private Aluno aluno; 

// constructor, getters and setters 
} 
+0

あなたは、これはHibernateの例外ではなくJSFであることを確認していますか? 'javax.faces.FacesException' –

答えて

0

おそらく、エンティティMateriaに/ miswroteセッターとゲッターを忘れてしまいました。
Hibernateは、そうでなければリフレクションでフィールドにアクセスしようとします。

チェックフィールドidcurso

+0

私の友人は私に同じ提案をしました。試してみましたがうまくいきませんでした。私はすべてのゲッターとセッターをチェックしました。私は本当にあなたが提供できるヘルプに感謝します。ペーストビン[link](https://pastebin.com/mqE1nGy5)にリンクして、 –

関連する問題