编程语言
首页 > 编程语言> > java-如果使用@Entity和@Embeddable注释类,是否应该引发错误?

java-如果使用@Entity和@Embeddable注释类,是否应该引发错误?

作者:互联网

正在为我的实习工作开发JPA兼容套件…该套件的一部分正在测试所有极端情况.

我今天在看@Embeddable.
没有要处理的属性.

然后我开始怀疑…

如果一个类同时带有@Entity和@Embeddable注释怎么办?我发现这个相关问题A class that behaves like @Entity and @Embeddable指出JPA不允许同时使用@Entity和@Embeddable.但是,他是在@ElementCollection的上下文中执行此操作的,这是我猜测会导致JPA不喜欢它的原因(无法在其中填充非基本/可嵌入类型).

基本上,
根据JPA 2.0,
如果同时用@Entity和@Embeddable注释了一个类,是否应该引发错误?
如果没有,应该怎么办?

解决方法:

从JSR-317的第323页:

Managed class to be included in the persistence unit and
to scan for annotations. It should be annotated
with either @Entity, @Embeddable or @MappedSuperclass.

这是指持久性单元中的托管类定义.基于这一点,我认为用@ Entity,@ Embeddable或@MappedSuperclass中的多个来注释类是无效的.

标签:jpa-2-0,annotations,java
来源: https://codeday.me/bug/20191201/2083641.html