繁体   English   中英

强制将字段包含在JPA @Entity类中

Enforcing inclusion of fields in JPA @Entity class

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有多个用@Entity注释的类。 一半的类在其中包含这三个附加字段: specialFieldAspecialFieldBspecialFieldC 另一半没有。

是否有JPA方法来确保将来的课程中包含这三个字段? 即,如果队友希望使用其中的specialFieldAspecialFieldBspecialFieldC来创建另一个类,是否可以强制使用这三个字段?

我曾考虑过使用接口,但由于只能定义方法,因此它似乎不是正确的策略。

我不能使用抽象类,因为这些类已经扩展了父类。

2 个回复

我最终创建了一个只包含那些特殊字段的单独的类,并使用@Embeddable对该类进行了@Embeddable 然后在我的实体中,将该新类作为字段包括在内,并在其上添加@Embedded批注。

使像特殊字段这样的抽象类具有@MappedSuperClass批注

@MappedSuperClass
public abstract class SpecialFields {
  @Column(name = "specialFieldA")
  private String specialFieldA;

  @Column(name = "specialFieldB")
  private String specialFieldB;

  @Column(name = "specialFieldC")
  private String specialFieldC;
}

您想要在其中包含这些字段的所有附加类都从此类扩展

@Entity
@Table(name ="sample")
public class Sample extends SpecialFields  implements Serializable{
     //All three fields are part of this class and automatically maps to date base columns with same name..
}

现在,所有具有这三个字段的类都必须从SpecialFields类扩展。 其他不是。

2 带有实体类型字段的可嵌入类的 JPA AttributeOverride

我有一个带有两个字段的可嵌入类。 一个是枚举,另一个字段是实体类类型。 我正在尝试将此类的对象嵌入到另一个类中。 两个字段都属于这种类型,所以我必须使用@AttributeOverrides 在数据库中,我期望 MyClass 表将有 4 列以@AttributeOverride注释的第二个 ...

3 JPA 2自定义实体字段

我已阅读本文,并正在寻找基于Spring-基于JPA的解决方案。 是否可以即时更改JPA映射? 我找到了这个解决方案 ,但是不起作用...我正在使用Spring / JPA / Hibernate ... 非常感谢你! ...

5 JPA-持久类不是实体

我有一个JPA项目(Eclipse链接),工作正常,但我想保留一个不是Entity(或在同一Persistence Context中不是Not实体)的类,当前我保留了引用ID,然后进行调用以检索物体。 我需要知道什么是最好的方法。.我不想在bean中添加代码作为侦听器事件,因为我想要一个干净的 ...

2014-09-30 20:48:54 3 712   java/ jpa
6 JPA实体类实例

当我将Java EE应用程序部署到Glassfish时,我有一个很好奇的问题。 我有一个Eclipse EAR项目,该项目引用一个Web项目(包含一个servlet),一个EJB项目(具有一个EJB)和一个JPA项目(具有一个@Entity)。 在我的servlet中,我称为EJB,它依次执 ...

7 JPA实体类关系

我有以下实体类结构 产品类别 ProductDetail类 因为我已经在Product类中有productNo ,所以我没有在ProductDetail类中声明它。 我想知道如何在ProductDetail类中使用强制@Id注释,因为唯一键在Product类中定义。 ...

8 更新JPA实体的多个字段

我有JPA实体客户说了50个字段,我想使用html表单从最终用户那里更新它。 我正在将一个实体实例传递给html页面表单(使用thymeleaf),这种表单在50个字段中只有20个字段(包括ID字段)。 现在,一旦提交表单, 我想将使用表单收到的数据中的20个字段更新为数据库。 我没有 ...

9 JPA实体中的枚举类型字段

可以在自定义JPA实体中将枚举用作字段(列)的类型吗? 这是一个例子: 上面的代码工作正常,但是使用statusId和getStatus setStatus看起来有点难看。 我想使用PaymentStatuses作为实体中的字段类型。 像这样: 请告诉我,有可能吗? ...

10 更新jpa中实体的所有字段

我必须拖曳实体User和Project,它们具有“一对多”关系,我想找到User,然后找到属于User的特定Project,然后更新它,但是我不能。 框架Struts2 + Hibernate。 @Entity (name = "User") @Table (name = "users") ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM