mysql - 在 hibernate 中使用非主键属性(唯一)作为外键

标签 mysql hibernate

我有两个表“销售”和“机会”。

销售: salesId 、 oppNo 、 status

机会:oppId、oppNo、状态

我已经映射了 oppNo,它不是主键,但在销售表中作为外键是唯一的

销售表中的映射是:

@JoinColumn(name = "opportunity_no", referencedColumnName = "opportunity_no")
@ManyToOne
private TsOpportunities opportunityNo;

但是,当我用

更新销售记录时
sales.setOpportunityNumber(opportunityObject)

Hibernate 不会将机会表中机会编号的值复制到销售表

如何复制它?

最佳答案

发现这个问题是在我使用 session.load(Opportunity, id); 获取机会对象时发生的。这样只获取主键。使用标准获取对象后,它起作用了

关于mysql - 在 hibernate 中使用非主键属性(唯一)作为外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30594106/

相关文章:

mysql - 一张表用于多个 hasman 关系

java - 对于映射到数据库表的 bean,hibernate 中的默认继承策略是什么?

java - Hibernate JPQL 抛出无法输入更新/删除查询

mysql - 有可能获得所有MySQL系统函数的列表吗?

mysql - 在 select 语句 mysql 中进行选择

mySQL 'where name NOT IN' 不工作?

php - 通过 PHP 解析数组和对象 json - 提供的参数无效

hibernate - Hibernate Criteria API 是否已弃用?如果是,我们应该使用什么 API?

hibernate - 如何动态修改 groovy hibernate 查询

java - 想要删除子对象,但不删除子对象对其他对象的引用