gpt4 book ai didi

java - 仅映射 JoinTable 关系中的一列

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:01 25 4
gpt4 key购买 nike

我有 3 个表:

业务角色

  • 标识符
  • 姓名

BusinessRole_ActorType(链接表)

  • 角色标识符
  • actorType_identifier

Actor 类型

  • 标识符
  • 名称(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 创建模型,那么您可以使用 native SQL 查询。但请务必检查 SQL 注入(inject),因为 native SQL 查询更容易受到此类攻击。

但我认为没有任何可能的方式来获得 List,就像您正在寻找的那样。

关于java - 仅映射 JoinTable 关系中的一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52092836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com