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的新手,我在这里有点迷茫