【问题标题】:Invocate correctly with EJB using JPA and Postgresql使用 JPA 和 Postgresql 正确调用 EJB
【发布时间】:2019-10-21 11:45:22
【问题描述】:

作为开始从事 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,还是视频中没有我需要做的其他事情?

【问题讨论】:

  • 你声称“我正确地遵循了教程”,但你没有。该教程的标题是“将 JPA 与 Netbeans 和 MySql 一起使用”,但您选择使用 PostgreSQL 而不是 MySQL。为什么?
  • @skomisa 很好,因为在我工作的环境中,我们主要使用 Postgresql。所以这不是因为我不想使用 mysql,而是因为如果我生病了,无论如何都要把它翻译成 Postgresql。

标签: postgresql jpa netbeans ejb


【解决方案1】:

好吧,在给定的错误中,它说

类的重复注释:接口 javax.validation.constraints.NotNull

所以在Users 类中,我决定为我的所有字符串注释@NotNull 和(在第二个错误之后)@Size。这让我可以毫无问题地将内容保存到我的数据库中。

要正确使用@NotNull@Size,我必须将@Column 修改为:

@Column(name = "name", length = 20, nullable = false)

唯一剩下的就是将文本框限制为列的大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    • 2014-09-22
    • 2017-07-20
    • 2014-11-25
    • 1970-01-01
    • 2011-02-05
    相关资源
    最近更新 更多