public class Verification implements Serializable {
private Long verificationId;
private Long salesManCode;
private Long clientCode;
...
}
public class Contract implements Serializable {
private Long contractId;
private Long salesManCode;
private Long clientCode;
...
}
这些类有各自的hbm.xml
映射,在数据库模型中,这些表没有关联,在hibernate映射中也没有关联,但是在保存合同时,它必须在contractID
字段(业务规则)中具有相同的verificationID
,但在某些情况下,也给出了没有验证的合同。
verification
verificationId | salesManCode | clientCode
1050 1001 2056
1051 1001 2248
1054 1002 2856
contract
contractId | salesManCode |clientCode
1050 1001 2056 <- this contract have verification
1051 1001 2248 <- this contract have verification
1052 1025 2822 <- this contract not have verification
1053 1254 1547 <- this contract not have verification
1054 1002 2856 <- this contract have verification
我的问题是当我运行HQL查询时:
select con.salesManCode, ver.salesManCode, con.clientCode, ver.clientCode, con.contracId, ver.verificationId
from Verification ver, Contract con
where ver.verificationId = con.contractId
但Hibernate使用交叉连接语句翻译并合并所有记录。是否有方法在hbm.xml
文件中的非相关类之间执行HQL查询?
规则:不应是映射的实体。
您可以按照以下方式映射两个表之间的联接关系:
@Entity
public class Verification implements Serializable {
private Long verificationId;
private Long salesManCode;
private Long clientCode;
...
}
@Entity
public class Contract implements Serializable {
private Long contractId;
@MapsId
@OneToOne
@JoinColumn(name = "contractId", referencedColumnName = "verificationId")
private Verification verification;
private Long salesManCode;
private Long clientCode;
}
您的查询变为:
select con.salesManCode, ver.salesManCode, con.clientCode, ver.clientCode, con.contracId, ver.verificationId
from Contract con
join con.verification ver
所以不是交叉连接,而是内部连接。
我试图坚持两个实体,它们有一对一和多对一的关系。 我正在尝试将表单集合嵌入到表单中。 我有一个多对一相关的实体,每次我创建一个新的课程简历,它与Candidat列相关candidat_id_id为空。 除了数据可数据中的Candidat id之外,只有实体Curendar umVitae被成功创建和持久化。 简历表 id|titre|candidat_id_id|id_education cand
我有一个类似实体的流程,由一个用户创建、更新。当我尝试应用过滤器时。我已经在数据库中创建了外键关系。现在,当我使用JPA规范应用动态过滤器时,我得到了一个异常
目前只有音频,视频等多媒体待补充完善
媒体库相关 一.流程 1.通过调用 申请视频ID接口 获取系统分配的视频ID 2.前端JS拿到视频ID相关参数,执行上传操作 3.将视频关联到房间 二.相关接口 1.申请视频ID 地址: https://ccapi.csslcloud.net/api/v1/video/createuploadinfo 备注: 需要THQS加密请求 方法: POST/GET 请求参数 参数名称 参数类型 参数
不确定为什么UserEntity没有被填充为此调用的一部分。
我想不出如何摆脱这个错误: 无法跟踪实体类型“Relations”的实例,因为已在跟踪键值为“{id:26}”的另一个实例。附加现有实体时,确保只附加一个具有给定键值的实体实例。 我尝试将实体从上下文中分离出来,但即使这样也不能阻止这个错误的发生。有人能给我指出我做错了什么吗? 服务 存储库 关系实体 更新 我试着替换 与 但关系实体上的任何属性都不会更新。