我遇到了一个休眠 hbm 配置,其中 id 属性映射到表中不是主键的列。该映射仅用于读取而不是更新。尽管这适用于大多数情况,但我发现在某些情况下,当在此映射上使用 get() 进行查询时,它会抛出org.hibernate.HibernateException: More than one row with the given identifier was found
所以我的问题是:
- 如果我定义一个 id 映射到表中非主键的 hbm,它可以允许两个以上具有相同 id 的记录吗?
- 在哪一层检查主键约束,休眠还是数据库?
谢谢,高拉夫。