热门面试题与答案和在线测试
面向面试准备、在线测试、教程与实战练习的学习平台

通过聚焦学习路径、模拟测试和面试实战内容持续提升技能。

WithoutBook 将分主题面试题、在线练习测试、教程和对比指南整合到一个响应式学习空间中。

面试准备

Hibernate 面试题与答案

Question: What does it mean to be inverse?
Answer: It informs hibernate to ignore that end of the relationship. If the one-to-many was marked as inverse, hibernate would create a child->parent relationship (child.getParent). If the one-to-many was marked as non-inverse then a child->parent relationship would be created.

In Hibernate, only the relationship owner should maintain the relationship, and the inverse keyword is created to defines which side is the owner to maintain the relationship. However the inverse keyword itself is not verbose enough, I would suggest change the keyword to relationship_owner.

In short, inverse=true means this is the relationship owner, and inverse=false (default) means its not.

Suppose Stock is parent and StockDailyRecords is Child object.

Inverse keyword is applied in one to many relationship. Heres the question, if save or update operation perform in Stock object, should it update the stockDailyRecords relationship?

1. inverse=true
If inverse=true in the set variable, it means stock_daily_record is the relationship owner, so Stock will NOT UPDATE the relationship.

2. inverse=false
If inverse=false (default) in the set variable, it means stock is the relationship owner, and Stock will UPDATE the relationship.

If keyword inverse is not define, the inverse = false will be used, which is

保存以便复习

收藏此条目、标记为困难题,或将其加入复习集合。

打开我的学习资料库
这有帮助吗?

用户评价最有帮助的内容:

版权所有 © 2026,WithoutBook。