Java 重写MappedSuperClass的ElementCollection中的CollectionTable

Java 重写MappedSuperClass的ElementCollection中的CollectionTable,java,hibernate,inheritance,jpa,Java,Hibernate,Inheritance,Jpa,我有一个带有嵌入式@ElementCollection的抽象基类(@MappedSuperclass)。我有这个类的多个具体扩展,它们工作得很好。我每个扩展类都有一个表,这就是我要找的。问题在于为某些类中的ElementCollection创建的表的命名。我使用的是Oracle,它对表名的限制相对较小。我可以控制与顶级类关联的表名,但似乎无法控制为@ElementCollection创建的表名。它始终命名为TopLevelClassName\u ElementCollectionName。它直接

我有一个带有嵌入式@ElementCollection的抽象基类(@MappedSuperclass)。我有这个类的多个具体扩展,它们工作得很好。我每个扩展类都有一个表,这就是我要找的。问题在于为某些类中的ElementCollection创建的表的命名。我使用的是Oracle,它对表名的限制相对较小。我可以控制与顶级类关联的表名,但似乎无法控制为@ElementCollection创建的表名。它始终命名为TopLevelClassName\u ElementCollectionName。它直接使用类名而不是所有者类指定的表名,我找不到任何方法来覆盖它


有人有解决方案吗?

尝试将此注释
@CollectionTable(name=“YOURTABLE”)
与具有正确表名的
@ElementCollection
一起添加。如果它工作,我会添加一个答案。已经尝试过了。它将为所有具体类的子表提供相同的固定表名。这很奇怪。。。那也许是因为他太过分了。请看这里:再一次,不完全是。我的ElementCollection在抽象类中,我试图根据具体情况设置表名,而不是重写元素名。实际上,我不确定这是否可行,可能最终不得不缩短/丑化我的类的名称,以便它们符合Oracle的长度限制。@Nerdfest您能添加映射吗?