gpt4 book ai didi

java - 如何在持久化时忽略 hibernate 实体中的子类

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

我有一个像这样的简单实体类

@Entity
public class Car{
@Column protected String name;
}

一切都很好,但现在我想使用该实体的子类或匿名类。

public class TestCar extends Car{
TestCar(){ this.name = "Test"; }
}

void foo(){
Car c = new Car(){
{ this.name = "Lone"; }
};
// ...
}

这些子类仅用于实例化目的,可以被 hibernate 完全忽略。

但是当我尝试保存实体时,我收到“未知实体”异常。

有没有办法让hibernate忽略这样的子类?

编辑:如果我们能找到问题的答案那就太好了。讨论所有其他(众所周知的)模式没有帮助(至少对我来说没有帮助)。您应该看到,这只是一个非常简化的示例,用于澄清问题。 (也许您应该忽略用例)

刚刚发现这个可能的重复(也没有解决方案):How to persist an entity from an non-entity subclass in Hibernate

最佳答案

这是行不通的。

恕我直言,你应该重新考虑你的设计。 TestCar 或匿名 Car 类真的是 Car 的子类型吗?我认为您使用了错误的工具来创建实例。您可以使用构建器模式。

关于java - 如何在持久化时忽略 hibernate 实体中的子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39766544/

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