- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
就我而言,我有两个表:父级“VDI_DICT_EMPOYEES_SV”和子级“VDI_DICT_EMPOYEES_RV”由具有相同名称“R_OBJECT_ID”的列连接。 (参见ER图)
“父”实体的结构是:
@Entity
@Table(name="VDI_DICT_EMPLOYEE_SV")
public class DmDictEmployee {
@Column (name="R_OBJECT_ID") private String objectId;
... other columns are skipped...
@ElementCollection
@CollectionTable(name="VDI_EMPLOYEE_RV, joinColumns=@JoinColumn(name="CROC_SECRETARY_ID",referencedColumnName="R_OBJECT_ID"))
private List<String> crocSecretaryIds; // the element collection
... getters and setters are skipped too...
}
为了获取主数据和从数据,我使用 native @Query
"SELECT parent.*, chield.CROC_SECRETARY_ID from VDI_DICT_EMPLOYEE_SV parent left outer join VDI_DICT_EMPLOYEE_RV chield on parent.R_OBJECT_ID=chield.R_OBJECT_ID"
(这将在一次选择中选择包含秘书列表的员工条目)
正如我从日志中看到的那样,它工作得很好。查询返回数据就好了。但是当我尝试检索 crocSecretaryIds 列表时,我看到 HIBERNATE 准备了包含集合名称的 SQL:“从 VDI_DICT_EMPLOYEES_RV WHERE R_OBJECT_ID=... 中选择 CROC_SECRETARY_ID、crocSecretaryIds”(参见下一个屏幕截图)
这很奇怪。我希望看到没有 crocSecretaryIds 的 SQL 查询,因此,我假设 @ElementCollection 列的声明有问题。您能否告诉我们遗漏了什么以及为什么 HIBERNATE 使用 crocSecretaryIds 准备查询?
最佳答案
最后我意识到我错误地引用了“child”表。而不是
@ElementCollection
@CollectionTable(name="VDI_EMPLOYEE_RV, joinColumns=@JoinColumn(name="CROC_SECRETARY_ID",referencedColumnName="R_OBJECT_ID"))
private List<String> crocSecretaryIds; // the element collection
我需要做:
@ElementCollection
@CollectionTable(name="VDI_EMPLOYEE_RV, joinColumns=@JoinColumn(name="R_OBJECT_ID",referencedColumnName="R_OBJECT_ID"))
@Column(name="CROC_SECRETARY_ID") // the column name in child table
private List<String> crocSecretaryIds;
所以,现在可以了。
关于java - 具有 @ElementCollection 和 @CollectionTable 的 Hibernate 实体。 Hibernate在检索集合时将属性名称添加到SQL语句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58356741/
我需要覆盖 JPA 中的集合表吗?也许有人有想法 public class nationality{ @Embedded @AttributeOverrides({
我有一个域 Service带收藏tags如下: @Entity public class Service extends AbstractEntity { private st
我正在 Spring RESTfull API 中创建一个 @CollectionTable。我有一个名为大学的实体表。现在我正在创建一个名为 TargetedGift 的实体,其中我将有一个大学 I
简而言之 JPA 文档说 CollectionTable.joinColumns属性是“引用实体主表的集合表的外键列。” 我可以让它不引用实体表的主键列,而是引用另一个具有唯一值的列吗? 详情 有一个
我正在尝试使用嵌入式注释在 JPA 中建立关系,但我无法成功运行它, 这里我的数据库sql脚本如下, create table TBL_COLLEGE( id integer primary k
我必须创建类的层次结构,其中父类(super class)具有表示 map 的 @CollectionTable。我试图实现它,但它只适用于一个子类。 我想做以下事情。我在左边有当前结构,在右边有所需
嗨,有人可以帮我解决这个异常吗?这里我有一个名为 Person 的实体类,并且具有实例变量的 Person 类有 name 和 petnames,这里 petnames 我将其作为简单值类型,数据类型
使用带有collection标签的域Service,如下所示: @Entity public class Service extends AbstractEntity { private st
嗨,有人可以帮我解决这个异常吗?这里我有一个名为 Person 的实体类,并且具有实例变量的 thisclass 有名称和宠物名称,这里的宠物名称我采用了简单的值类型,数据类型是集合,并且具有使用 j
我有一个用 SpringBoot 2 和 MySQL 数据库编写的项目,我正在尝试使用 MongoDB 将其重写为 Spring WebFlux。 有 2 个表:CONTRACT 和 CONTRACT
我尝试审核Order类有 List field 。Order类看起来像这样: class Order { @Audited @ElementCollection(fetch = Fet
您好,我有以下 JPA 实体类。它有两个用于组和联系人 ID 的 @CollectionTable 映射。我很感兴趣从 contact_details 表中获取唯一联系人 ID 的列表,并在下面的 U
尝试使用 CriteriaBuilder 生成动态查询时,Hibernate 没有针对与 @ElementCollection 关联的实体成员变量创建正确的 SQL。 . 示例实体: @Entity
这个问题已经有答案了: How to delete data from org.hibernate.collection.PersistentBag? | Hibernate (Jpa) (1 个回答
假设我有以下实体,它为订阅者建模并使用 CollectionTable 来为订阅列表建模,如下所示: @Entity @Table(name = "SUBSCRIBER") public class
@Entity public class User{ @ElementCollection @Enumerated(EnumType.STRING) @CollectionTa
我有一个非常简单的实体产品,它有代码、名称和标签。标签存储在另一个表 (product_tag) 中,其中包含 product_id 和 tag 列。 我需要使用 CriteriaQuery 搜索带有
我有一个如下所示的实体。它被简化了,因为我无法发布原始代码,但它应该足以理解这个想法。 重点是: 使用 EntityManager 我可以删除 my_table 表中的条目。到目前为止,一切都很好。现
我有以下结构: public class Profile { ... @ElementCollection(targetClass = ProfileFieldImpl.class, fetch
就我而言,我有两个表:父级“VDI_DICT_EMPOYEES_SV”和子级“VDI_DICT_EMPOYEES_RV”由具有相同名称“R_OBJECT_ID”的列连接。 (参见ER图) “父”实体的
我是一名优秀的程序员,十分优秀!