gpt4 book ai didi

java - 从另一个联接创建的列上的 JoinColumn

转载 作者:行者123 更新时间:2023-11-30 06:28:05 25 4
gpt4 key购买 nike

我有实体 User,其中包含实体 Actor 的字段,其中包含具有实体产品的字段。现在我希望数据库中的用户拥有有关产品 id 的信息,该信息使用产品上的 @JoinColum 存储在 Actor 中。为了更好地说明,一些代码:

   @Entity
public class User {
@ManyToOne
@JoinColumns(value = {@JoinColumn(name = "actor_id", referencedColumnName = "id"),
@JoinColumn(name = "product_id", referencedColumnName = "product_id")})
private Actor actor;

public Actor getActor() {
return actor;
}

public void setActor(Actor actor) {
this.actor = actor;
}
}

@Entity
public class Actor {
@ManyToOne
@JoinColumn(name = "product_id")
private Product product;
}

在数据库中,它创建包含“actor_id”和“product_id”的表“users”以及包含“product_id”列的表“actors”。

使用 Spring Data Repository 的 userRepository.findAll() 方法,我最终得到 ClassCastException 和以下消息:

Actor_$$_jvst485_0 cannot be cast to java.io.Serializable

有什么解决办法吗?

最佳答案

如果要传递实体的分离对象,则需要在所有实体中实现 Serialized 接口(interface)。这是由 JSR 220 指定的。有关更多详细信息,您可以参见 this answer

关于java - 从另一个联接创建的列上的 JoinColumn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46688960/

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