java - Hibernate @AttributeOverrides 多个属性而不显式命名每个属性

标签 java hibernate orm seam java-ee-6

设置:Hibernate 4.0 (JPA 2.0)、Java EE 6

我有以下问题:我有一个用 @Embeddable 注释的“HandAttributes”类,它包含很多 boolean 属性。在另一个类“Person”中,我想将此类嵌入两次。这个想法是,“属性”类中的值代表“人”可以在其左手和右手上拥有的属性。

据我了解 @AttributeOverride 的可能性,我可以覆盖 HandAttributes 类中的每个属性,并给它们一个新的列名称,即“BrokenNailRight”和“BrokenNailLeft”。但正如我所提到的,这些属性有很多,所以我不想显式地全部覆盖它们。

是否可以通过提供某种命名模式来覆盖 Embeddable 类中的所有属性?就像将字符串“left”添加到所有列或类似的内容。

我希望这个问题是可以理解的,我期待您的任何想法!

最佳答案

Is there a possibility to Override all attributes in the Embeddable class?

我从未听说过这样的事情,并且非常确定这是不可能的。

您确定要嵌入这些对象吗?这会产生很多真正静态的代码,最好这样编写:

public class Human {
Hand leftHand;
Hand rightHand;
...
}

甚至

public class Alien {
Map<ConnectedBodyPart, Hand> hands
...
}

这还应该启用 getBrokenNails() 的通用版本...

关于java - Hibernate @AttributeOverrides 多个属性而不显式命名每个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11452017/

相关文章:

java - 如何将 PostgreSQL 驱动程序 (jar) 添加到使用 liberty-maven-plugin 创建的 open-liberty microprofile fat jar?

java - Jboss eap7.0 支持 JDK 7 或 8

java - 如何使用 java 从 Spark 中的列表或数组创建行

java - HIbernate创建数据库表

c# - 具有继承映射的 linq2db 插入

java - java 的 sudzc 有替代方案吗?

java - 按父对象设置的子对象的值对父对象进行排序

javax.persistence.PersistenceException : org. hibernate.exception.SQLGrammarException: 无法执行查询

javascript - 查找基于的所有对象的正确查询有很多关系

orm - 了解 PeeWee 的 related_name 属性