使用 JPA 和 Postgresql 正确调用 EJB
Invocate correctly with EJB using JPA and Postgresql
作为开始 Spring 工作的第一步,我的任务是只做最简单的事情。我已经按照这个 small little tutorial 我发现并复制了它以获得一个起点。但是当我运行这个程序时,我得到这个错误
Advertencia: A system exception occurred during an invocation on EJB UsersFacade, method: public void Session.UsersFacade.Save(java.lang.String,java.lang.String,java.lang.String)
Advertencia: javax.ejb.EJBException
...
...
Caused by: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface javax.validation.constraints.NotNull: @javax.validation.constraints.NotNull(message={javax.validation.constraints.NotNull.message}, groups=[], payload=[])
尽管我正确地遵循了教程。我是否因为使用 Postgresql 而需要执行更多步骤,还是视频中没有我必须执行的其他操作?
好吧,在给定的错误中,它说
Duplicate annotation for class: interface javax.validation.constraints.NotNull
所以在 Users
class 中,我决定对 @NotNull
和(在第二次错误之后)我所有字符串的 @Size
进行注释。这让我可以毫无问题地将东西保存到我的数据库中。
为了正确使用 @NotNull
和 @Size
,我不得不将 @Column 修改成这样:
@Column(name = "name", length = 20, nullable = false)
唯一剩下的就是将文本框限制为列的大小。
作为开始 Spring 工作的第一步,我的任务是只做最简单的事情。我已经按照这个 small little tutorial 我发现并复制了它以获得一个起点。但是当我运行这个程序时,我得到这个错误
Advertencia: A system exception occurred during an invocation on EJB UsersFacade, method: public void Session.UsersFacade.Save(java.lang.String,java.lang.String,java.lang.String)
Advertencia: javax.ejb.EJBException
...
...
Caused by: java.lang.annotation.AnnotationFormatError: Duplicate annotation for class: interface javax.validation.constraints.NotNull: @javax.validation.constraints.NotNull(message={javax.validation.constraints.NotNull.message}, groups=[], payload=[])
尽管我正确地遵循了教程。我是否因为使用 Postgresql 而需要执行更多步骤,还是视频中没有我必须执行的其他操作?
好吧,在给定的错误中,它说
Duplicate annotation for class: interface javax.validation.constraints.NotNull
所以在 Users
class 中,我决定对 @NotNull
和(在第二次错误之后)我所有字符串的 @Size
进行注释。这让我可以毫无问题地将东西保存到我的数据库中。
为了正确使用 @NotNull
和 @Size
,我不得不将 @Column 修改成这样:
@Column(name = "name", length = 20, nullable = false)
唯一剩下的就是将文本框限制为列的大小。