Java 使用hibernate调用/映射getter中的另一个实体

Java 使用hibernate调用/映射getter中的另一个实体,java,hibernate,Java,Hibernate,考虑以下简单的数据库模式: User Relation Property +-------------+ +--------------+ +---------------+ | -user_id | | -relation_id | | -property_id | | | | -source_id | | | |

考虑以下简单的数据库模式:

 User                Relation            Property
+-------------+     +--------------+     +---------------+
| -user_id    |     | -relation_id |     | -property_id  |
|             |     | -source_id   |     |               |
|             |     | -target_id   |     |               |
|             |     | -type        |     |               |
+-------------+     +--------------+     +---------------+

关系
表包含来自另一个表的多个源ID和目标ID(作为字符串)以及“连接”动态困难类型的实体。因此,
源id
可以是
用户id
目标id
属性id
,也可以是其他实体,反之亦然

现在,当type为
property
时,我想在
关系
表上输入
User
属性

@OneToMany(mappedBy = "source", fetch = FetchType.EAGER)
  @Where(clause = "type = 'PROPERTY'")
  @ElementCollection
  private Set<Relation> properties;
@OneToMany(mappedBy=“source”,fetch=FetchType.EAGER)
@其中(子句=“类型=”属性“”)
@元素集合
私有集属性;
这个很好用。我在
target\u id
中接收属性id为字符串的
关系
实体

是否可以解决这个问题并扩展getter,以便接收不动产实体? 类似于在用户实体中调用propertyRepository。作为java和jpa/hibernate的新手,我在这里有点迷茫