我有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,就像您正在寻找的那样。