问题标签 [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.
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
,但仍然遇到相同的错误。
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 发生。我在实现存储库结构时会出错吗?请帮忙。
php - Symfony2:实体扩展 MappedSuperClass 扩展 FOSUserBundle 用户
我创建了一个带有扩展 FOSUserBundle 用户的 SuperUser MappedSuperClass 的 BaseBundle
在我的项目中,我安装了我的 BaseBundle。我创建了一个扩展我的 SuperUser 类的用户实体。
问题是当我创建表时,Doctrine 只看到 FOSUser 属性和 User 属性,但看不到我的 SuperUser 属性。我只能看到 fullName 和 FOSUser 属性。
我的超级用户类被绕过了..
我注意到 User 类使用 YAML 表示法,SuperUser 使用 PHP 注释,而 FOSUser 类使用 XML 表示法。我不知道这是否会产生问题。
inheritance - Doctrine ODM - 为 MappedSuperclass 指定集合名称
Doctrine ODM 有注解(collection)来指定应该使用哪个名称进行收集。它默认为类名,但可以轻松更改。
但是我已经映射了由其他类扩展的超类。继承类型是单个集合,该集合以基抽象类命名。如何更改此名称?
假设我有类 Base,它得到了扩展。但我希望将集合命名为 Items。我显然不想更改所有扩展类中的注释,因为它非常多余并且容易出错。
java - @MappedSuperclass 和实现表
我继承了一些非常糟糕的代码,我希望对其进行重构以使其更具可重用性。有一组报告表,主要由 3 列组成:id
、report_type_fk
和report_description
。我想将所有报告表合并为一个以方便使用。
我正在重构代码,并认为最好将我们当前的实体分解,这样它Report
就是一个具有type
实现的抽象类。例如 a DmvReport extends Report
、CreditScoreReport extends Report
等。
我遇到的问题是所有实体都需要保存到的报告表只有 1 个。有没有办法让abstract Report
对象的所有具体实现都保存到同一个表中?
这是我继承的错误代码的示例
报告类
信用报告类
我想把它变成:
entity - 如何在插入子实体时在扩展父级的子实体中覆盖父级@MappedSuperclass @column 属性
我有两个类 A 和 B,B 扩展 A 和 A 是 @MappedSuperclass,因为它也被其他实体扩展为一些公共字段。
甲级
B类
现在的问题是,当我尝试将 B 类持久化时,它将TYPE_ID和FEATURE_CODE带入 INSERT 查询,并且目标数据库表TABLE B没有导致异常的列FEATURE_CODE 。
谁能指出我在保留子实体 B 时如何忽略 FEATURE_CODE 字段的正确方向?谢谢 !
java - 刷新操作时从映射超类继承的 JPA 2.0 空字段
我有以下层次结构
和一个事务性 ejb,我在其中执行 crud 操作。在另一个名为 ServicioProceso 的 ejb 中,我有以下方法:
行在哪里:
调用执行 crud 操作的 ejb 并发送对象msjMonitoreo以及来自映射的超类和子类设置的所有数据。但在刷新调用中,我得到以下异常:
当我调试时,所有字段都设置了相应的值。 调试显示所有字段都已设置。我的服务器在 WebSphere Application Server (Full) 8.5.5.0 上运行。但是当我部署到 Liberty WebSphere 时它工作正常
jpa - JPA:如何使用 @MappedSuperclass 和继承的 ID 在子类之间建立多对多关系
我在我的应用程序的子类实体之间建立多对多关系时遇到了问题,这些子类实体继承了超类的 id (数据库 id)字段以及其他 2 个变量。@MappedSuperclass
用于仅映射数据库表上的子类,每个子类一个表Entity
。最后,我想生成一个基于我提到的多对多关系的连接表。
我无法弄清楚JoinTable
Annotation 的定义,我试图@AttributeOverride
在每个子类中使用它来覆盖继承的 id。
你能指导我吗?
Person
超类:
Teacher
子类:
学生子类:
java - 为什么我不能覆盖和注释实体映射的 getter 方法?
给定这个类:
我想定义一个实体:
但这会在 SomeEntity 上出现“未指定标识符”(或“无法确定类型”)错误而失败。如果我从超类中删除吸气剂,它就可以工作。我不能做这个覆盖策略吗?为什么不,或者如果是 - 如何?
添加
到子类不会改变错误。
java - org.hibernate.hql.internal.ast.QuerySyntaxException:BaseModel 未映射
我正在尝试为基本模型添加一个状态,该状态记录记录是“活动”、“已删除”还是“IN_PROGRESS”
这是我的代码:
但是当我尝试启动我的项目时,spring boot 总是会抛出这个错误。
'BaseModel 未映射 [从 BaseModel o 中选择 o,其中 o.state = 'ACTIVE']'
谁能告诉我我哪里出错了。从我在线阅读的内容来看,@MappedSuperClass 不应该面临这个问题。因为它们没有被实例化。
任何帮助将非常感激。
这是我的完整堆栈跟踪: