问题标签 [mappedsuperclass]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2845 浏览

spring-data-jpa - 如何使用 MapperSuperClass 在 Spring Data JPA 中实现数据库继承?

我正在尝试JOINED使用 Spring Data JPA 中类型的数据库继承,参考这篇文章。这工作得很好。但我必须MappedSuperClass在我的项目中实施。我已经通过以下方式实现:

Base.java

BaseImpl.java

Super1.java

Super1Impl.java

BaseBaseRepository.java

BaseRepository.java

BaseRepositoryImpl.java

Super1Repository.java

Super1RepositoryImpl.java

我正在尝试Super1在测试用例中保存一个对象:

但我收到以下错误:

在 中尝试@PrimaryKeyJoinColumn(name = "id", referencedColumnName = "id")Super1Impl,但仍然遇到相同的错误。

0 投票
0 回答
903 浏览

spring - 涉及MappedSuperClass时如何在Spring数据JPA中实现存储库?

我正在实现一个实体的存储库结构,它在 Sping 数据 JPA 中扩展了 MappedSuperClass。

Base.java:

BaseImpl.java:

BaseRepository.java:

BaseRepositoryImpl.java:

当我尝试通过以下方式保存 Base 对象时:

我确实在 sysout 行中看到了编译时错误"The method save(Iterable<S>) in the type JpaRepository<BaseImpl,Long> is not applicable for the arguments (Base)"。在 JPA 中,除了实例化之外,一切都只通过 MappedSuperClass 发生。我在实现存储库结构时会出错吗?请帮忙。

0 投票
1 回答
185 浏览

php - Symfony2:实体扩展 MappedSuperClass 扩展 FOSUserBundle 用户

我创建了一个带有扩展 FOSUserBundle 用户的 SuperUser MappedSuperClass 的 BaseBundle

在我的项目中,我安装了我的 BaseBundle。我创建了一个扩展我的 SuperUser 类的用户实体。

问题是当我创建表时,Doctrine 只看到 FOSUser 属性和 User 属性,但看不到我的 SuperUser 属性。我只能看到 fullName 和 FOSUser 属性。

我的超级用户类被绕过了..

我注意到 User 类使用 YAML 表示法,SuperUser 使用 PHP 注释,而 FOSUser 类使用 XML 表示法。我不知道这是否会产生问题。

0 投票
1 回答
415 浏览

inheritance - Doctrine ODM - 为 MappedSuperclass 指定集合名称

Doctrine ODM 有注解(collection)来指定应该使用哪个名称进行收集。它默认为类名,但可以轻松更改。

但是我已经映射了由其他类扩展的超类。继承类型是单个集合,该集合以基抽象类命名。如何更改此名称?

假设我有类 Base,它得到了扩展。但我希望将集合命名为 Items。我显然不想更改所有扩展类中的注释,因为它非常多余并且容易出错。

0 投票
1 回答
1448 浏览

java - @MappedSuperclass 和实现表

我继承了一些非常糟糕的代码,我希望对其进行重构以使其更具可重用性。有一组报告表,主要由 3 列组成:idreport_type_fkreport_description。我想将所有报告表合并为一个以方便使用。

我正在重构代码,并认为最好将我们当前的实体分解,这样它Report就是一个具有type实现的抽象类。例如 a DmvReport extends ReportCreditScoreReport extends Report等。

我遇到的问题是所有实体都需要保存到的报告表只有 1 个。有没有办法让abstract Report对象的所有具体实现都保存到同一个表中?

这是我继承的错误代码的示例

报告类

信用报告类

我想把它变成:

0 投票
1 回答
377 浏览

entity - 如何在插入子实体时在扩展父级的子实体中覆盖父级@MappedSuperclass @column 属性

我有两个类 A 和 B,B 扩展 A 和 A 是 @MappedSuperclass,因为它也被其他实体扩展为一些公共字段。

甲级

B类

现在的问题是,当我尝试将 B 类持久化时,它将TYPE_IDFEATURE_CODE带入 INSERT 查询,并且目标数据库表TABLE B没有导致异常的列FEATURE_CODE 。

谁能指出我在保留子实体 B 时如何忽略 FEATURE_CODE 字段的正确方向?谢谢 !

0 投票
2 回答
538 浏览

java - 刷新操作时从映射超类继承的 JPA 2.0 空字段

我有以下层次结构

和一个事务性 ejb,我在其中执行 crud 操作。在另一个名为 ServicioProceso 的 ejb 中,我有以下方法:

行在哪里:

调用执行 crud 操作的 ejb 并发送对象msjMonitoreo以及来自映射的超类和子类设置的所有数据。但在刷新调用中,我得到以下异常:

当我调试时,所有字段都设置了相应的值。 调试显示所有字段都已设置。我的服务器在 WebSphere Application Server (Full) 8.5.5.0 上运行。但是当我部署到 Liberty WebSphere 时它工作正常

0 投票
0 回答
753 浏览

jpa - JPA:如何使用 @MappedSuperclass 和继承的 ID 在子类之间建立多对多关系

我在我的应用程序的子类实体之间建立多对多关系时遇到了问题,这些子类实体继承了超类的 id (数据库 id)字段以及其他 2 个变量。@MappedSuperclass用于仅映射数据库表上的子类,每个子类一个表Entity。最后,我想生成一个基于我提到的多对多关系的连接表。

我无法弄清楚JoinTableAnnotation 的定义,我试图@AttributeOverride在每个子类中使用它来覆盖继承的 id。

你能指导我吗?

Person超类:

Teacher子类:

学生子类:

0 投票
1 回答
1226 浏览

java - 为什么我不能覆盖和注释实体映射的 getter 方法?

给定这个类:

我想定义一个实体:

但这会在 SomeEntity 上出现“未指定标识符”(或“无法确定类型”)错误而失败。如果我从超类中删除吸气剂,它就可以工作。我不能做这个覆盖策略吗?为什么不,或者如果是 - 如何?

添加

到子类不会改变错误。

0 投票
1 回答
1509 浏览

java - org.hibernate.hql.internal.ast.QuerySyntaxException:BaseModel 未映射

我正在尝试为基本模型添加一个状态,该状态记录记录是“活动”、“已删除”还是“IN_PROGRESS”

这是我的代码:



但是当我尝试启动我的项目时,spring boot 总是会抛出这个错误。

'BaseModel 未映射 [从 BaseModel o 中选择 o,其中 o.state = 'ACTIVE']'

谁能告诉我我哪里出错了。从我在线阅读的内容来看,@MappedSuperClass 不应该面临这个问题。因为它们没有被实例化。

任何帮助将非常感激。

这是我的完整堆栈跟踪: