如果我想在休眠中获取百万行,它将如何工作? hibernate会崩溃吗?我该如何优化呢。
答案 0 :(得分:5)
通常你不会为此使用hibernate。如果需要进行批处理操作,请使用sql或hibernate包装器进行批处理操作。没有办法加载数百万条记录将很好地结束您的应用程序。您的应用程序与gra运行时捶打,或可能崩溃。必须有另一种选择。
答案 1 :(得分:3)
如果你读一个/写一个,它可能会正常工作。你确定这个想要读取1,000,000行的方式吗?这可能需要一段时间。
如果您希望所有对象同时存在于内存中,您很可能会遇到挑战。
您可以通过寻找不同的方式来最佳地优化它。例如,您可以使用数据库工具从数据库转储比使用hibernate读取更快。
您可以在数据库中选择总和,最大值和计数,而无需通过网络返回一百万行。
你到底想要完成什么?
答案 2 :(得分:1)
仅显示您需要的列。在测试环境中试用。
答案 3 :(得分:1)
为此,最好使用spring的jdbc工具和行处理程序。它将运行查询,然后一次对一行执行一些操作。
答案 4 :(得分:1)
您应该尝试查看StatelessSession接口,其示例可在此处找到:
http://mrmcgeek.blogspot.com/2010/09/bulk-data-loading-with-hibernate.html