0
私はJava EEの初心者です。データベース内のユーザーエンティティを永続化するアプリケーションを作成しようとしています。私は、次のコードを持っている:データベースのエンティティを永続化できませんJava EE
ユーザエンティティ
@Entity
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
private String department;
@Email
private String email;
@Column(name="`first name`")
private String firstName;
@Column(name="`last name`")
private String lastName;
private String password;
//bi-directional many-to-one association to Unit
@OneToMany(mappedBy="user")
private Set<Unit> units;
public User() {
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getDepartment() {
return this.department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getEmail() {
return this.email;
}
public void setEmail(String email) {
this.email = email;
}
public String getFirstName() {
return this.firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getlastNameame() {
return this.lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
public Set<Unit> getUnits() {
return this.units;
}
public void setUnits(Set<Unit> units) {
this.units = units;
}
}
ユーザーステートレスセッションBeanを
@Stateless
public class userEJB {
@PersistenceContext
private EntityManager em;
/**
* Default constructor.
*/
public userEJB() {
// TODO Auto-generated constructor stub
}
public void createUser(User user)
{
em.persist(user);
}
}
ユーザーマネージドBean(唯一の方法が実装されて作成)
public class UserMBean {
@EJB
userEJB userSessionBean;
private User user;
public UserMBean() {
this.user = new User();
}
public void save()
{
userSessionBean.createUser(user);
}
}
signUp.xhtml
<h:form>
<h:panelGrid columns = "2">
<h:outputLabel for="firstName" value="First Name"/>
<h:inputText id="firstName" value="#{userMBean.user.firstName}" required = "true"/>
<h:outputLabel for="lastName" value="Last Name"/>
<h:inputText id="lastName" value="#{userMBean.user.lastName}" required = "true" />
<h:outputLabel for="department" value="Department"/>
<h:inputText id="department" value="#{userMBean.user.department}" required = "true"/>
<h:outputLabel for ="email" value="Email"/>
<h:inputText id="email" value="#{userMBean.user.email}" required = "true"/>
<h:outputLabel for="password" value="Password"/>
<h:inputText id="password" value="#{userMBean.user.password}" required = "true"/>
</h:panelGrid>
<h:commandButton action="#{userMBean.save}" value="Submit" />
</h:form>
[送信元]は正しく表示されていますが、[送信]ボタンをクリックすると何も表示されません。サーバーエラーはありません。それは単に信号を与えません。コードに間違いがあると助けてくれますか?
ありがとうございました
デバッガを使用して、ボタンをクリックしたときの状況を知ることができます。少なくとも、ロギングステートメントを追加して、何が実行されているかを確認してください。 –
マネージドBeanは認識されていますか? JSFまたはCDIの注釈を使用しましたか? –