我有3张桌子:

商业角色


识别码
名称


BusinessRole_ActorType(链接表)


角色识别符
actorType_identifier


演员类型


识别码
名称(varchar)


我需要创建一个JPA实体BusinessRole,该实体将联接表并在实体中提供actorType列表,同时仅使用ActorType表中的名称。

我知道我可以通过创建ActorType实体并为@ManyToMany添加@JoinTable来获得类似的结果,但这会添加一个额外的对象,我只对String值感兴趣。

下面的代码显示了我想要实现的目标。

@Entity
public class BusinessRole {

    //TODO: Fill in with appropriate annotations :)
    @ManyToMany
    @JoinTable(....)
    private List<String> assignableActorTypes;
}


预先感谢您的支持。

最佳答案

如果您没有为ActorType创建任何实体,则hibernate将无法访问该表,因为hibernate无法知道其存在。

如果您确实不想为ActorType创建模型,则可以使用本机SQL查询。但是请确保检查SQL注入,因为本机sql查询更容易受到此类攻击。

但是我不认为有什么可能的方法来获得List,就像您正在寻找的那样。

08-28 21:01