Java Jpa注释

Java Jpa注释,java,jakarta-ee,jpa,annotations,Java,Jakarta Ee,Jpa,Annotations,以下代码是否合法: @Entity @Embeddable public class UserProfile { @Id private String name; private String pass; .. } 我可以同时使用这两种注释吗?否,请在此处使用 怎么做 另外,id是自动生成的,但是可以根据需要进行更改;) 为什么总有人在接到指示不按下按钮时,会这样做只是为了看看会发生什么?Embeddeble是一种类型,与实体类似,不应一起使用,因为根据定义,Embeddeble不能有Id

以下代码是否合法:

@Entity
@Embeddable

public class UserProfile {

@Id
private String name;
private String pass;
..
}

我可以同时使用这两种注释吗?

否,请在此处使用 怎么做


另外,id是自动生成的,但是可以根据需要进行更改;)

为什么总有人在接到指示不按下按钮时,会这样做只是为了看看会发生什么?Embeddeble是一种类型,与实体类似,不应一起使用,因为根据定义,Embeddeble不能有Id。

否。Embeddeble被设计为嵌入实体。它们用于实现组合模式。

好的,我们在这里混淆了一些东西

实体是一个java类,您希望其实例以每个实体一个表、每个实例一行的形式持久化在db中

其他类的其他实例可以是具有自己的表并与一对多、多对多和此类注释链接的实体,也可以直接“嵌入”到另一实体的同一表中。当您有复杂的键并且需要单独的类来定义主键时,这非常有用


因此,要么您有一个可嵌入类,其实例将在另一个实体中持久化,要么您有一个实体将持久化到它自己的表中

id根本不需要自动生成。这是用户的首选项。“但是,是的,您可以根据需要进行更改”=“这是用户的首选项”