我运行了一些 DDL 脚本来在我的数据库中设置一个完整的国家/地区表。国家表的主键列包含每个国家对应的 ISO 代码。
在我的 JPA 项目中,我有一个具有嵌入式地址实体的用户实体,并且该地址实体具有对国家/地区的引用。User 和 Address 之间的关系对我来说似乎没有问题,但是 Address 和 Country 之间的关系。我试图将其映射为多对一关系,因为许多地址可以共享一个国家。
问题是:我用 Id 注释了 Country 类的 iso 成员变量 -> 现在,JPA/Hibernate 抱怨没有手动设置国家的 id。但是在这种情况下,已经给出并设置了 id,因为我导入了一次数据并且 ISO 代码是唯一的,并且通过 db 模式表示声明为主键。在这种特殊情况下,不需要在国家/地区表中更新或插入 - 信息应该是只读的!
知道该怎么做,所以我可以使用我的国家表而不改变?