问题是这样的。 我有许多持久化对象,我将使用 Hibernate 提取它们。
但是在应用程序的生命周期中,我将创建一些对象 不要存在于应用程序的运行时间之外。
它们是临时的,例如包含用户的选择,并且它们还保存 链接到持久对象(表)。但一旦应用程序退出, 它们没有必要,因此临时对象会被销毁。
您认为这些对象是否应该保存在保存普通数据的同一个数据库中?
例如,它们可能保存在临时表中,退出时数据将被删除。
或者它们可能仅在内存中创建。哪个更好?
最佳答案
您通常不会持久化 transient 对象,除非有很多 transient 对象占用内存和/或很少访问这些对象,此时可以更好地使用因不将它们保留在内存中而释放的内存。
在我看来,每个设计的基础都应该是简单。尽可能简单,同时根据需要尽可能复杂。向这些对象添加 Hibernate 会增加复杂性和潜在的麻烦,如果没有必要,就不要这样做。
关于java - hibernate 设计: persistent data plus temporary run-time classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2454888/