我想在我的解决方案中存储冗长的.sql脚本并以编程方式执行它们.我已经想出如何执行包含我的sql脚本的字符串,但我还没想出如何从存储在解决方案中的文件中读取字符串(例如,在/ Scripts子文件夹下).
持久化Java对象有哪些轻量级选项?
我正在寻找最简单的解决方案.我不希望任何花哨的特征只是简单的东西,与合理简单的对象(一些集合,关系和简单的继承)一起工作,并且不会给现有的代码库带来太多明显的复杂性(如果有的话).
我所知道的选项包括Hibernate和EMF这样的框架,但它们听起来(并且经验丰富)过于复杂和耗时.我喜欢开箱即用的东西,最好是文件导向而不是面向dababase,我可以把它放在我普通的旧Java对象之上.
这是一个新手问题,提前感谢任何类似教程的上下文澄清指南.
有人可以花点时间向我解释语言基础:
int foo = myObject.SomeList.Count;
for (int i = 0 ; i < foo ; i++)
{
myObject.SomeList.Add(bar);
}
Run Code Online (Sandbox Code Playgroud)
进入无限循环,因为foo引用了一个不断增加的值.将第一行修改为:
int foo = (int)myObject.SomeList.Count;
Run Code Online (Sandbox Code Playgroud)
让它消失,不知何故foo一劳永逸地从参考变为价值.这可能是教科书但是,为什么会这样呢?
非常感谢
编辑:好的,正如帕特里克提到的那样,无限循环只发生在没有先前存储到foo时,演员阵容毫无意义,这是有道理的.这确实是我在调试时最初的想法.因此,当演员修理它时我很惊讶.实际发生的事情是,当被编辑的代码与执行的代码之间存在同步问题时,Visual Studio误以为我已经修复了它,这导致了错误的结论.