使用 Java 为对象提供具有部分列的 JPA 实体

发布于 2025-01-12 03:46:08 字数 500 浏览 0 评论 0原文

我有一个类似 Ledger 的表,它记录了没有唯一值的所有信息。

名称日期语句
第一随机数据
第二随机数据

我正在尝试创建一个仅获取名称和语句的实体

@Entity
public class MyTable {
  private String name;
  private String statement;

}

因为我没有指定@Id我收到异常并且我们在表中没有任何唯一标识符我可以不提@Id注解。

另外,如果我们需要编写任何用户定义的方法来获取这些值,请建议如何执行此操作。任何来源或示例都会有很大帮助。

I have a table which is of kind Ledger which records all information with no unique values.

NameDateStatement
Firstrowrandom data
Secondrowrandom data

I am trying to create an Entity which will only fetch name and statement

@Entity
public class MyTable {
  private String name;
  private String statement;

}

As I am not specifing @Id I am getting exception and We don't have any unique identifier in the table I can't mention @Id annotation.

Also, If we need to write any user defined method for getting these values please suggest how to do that as well.Any sources or samples will greatly help here.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无人问我粥可暖 2025-01-19 03:46:08

由于您没有任何唯一标识符,因此需要首先定义它。
您可以通过两种方式完成此操作:

  1. 重新设计表并标识任何唯一的列或

  2. 声明一个 Long 值作为唯一标识符,如下所示[适用于 mysql,对于 pg,您需要定义自动生成 id 的序列] :

    @Id
    @GenerateValue(策略 = GenerationType.IDENTITY)
    私有长ID;

此外,要获取值,请不要忘记为这些字段添加 getters setters 方法。

As you don't have any unique identifier, you need to define that first.
You can do it in two ways:

  1. Redesign the table and identify any column which is unique Or

  2. Declare a Long value as a unique identifier like this[works for mysql, for pg, you need to define a sequence for auto id generation]:

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

Moreover, to get values, don't forget to add getters setters method for these fields.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文