小编Hen*_*ryR的帖子

HSQLDB和Hibernate/JPA - 没有持久化到磁盘?

HSQL和Hibernate的新手......

em.getTransaction().begin();
for (Activity theActivity : activities) {
  em.persist(theActivity);
}
em.getTransaction().commit();
em.close();
Run Code Online (Sandbox Code Playgroud)

其次是...

EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
System.out.println("QUERY:: "
    + em.createQuery("SELECT COUNT(*) FROM " + Activity.class.getName()).getSingleResult()
        .toString());
em.getTransaction().commit();
Run Code Online (Sandbox Code Playgroud)

打印25000(活动中的Activity对象数).但是当我再次运行此测试时,计数(*)中的对象数量不会增加(在程序开头时为0).所以对象没有得到持久的写作.

这是我的hsqldb连接字符串:

name="hibernate.connection.url" value="jdbc:hsqldb:file:data/cmon"
Run Code Online (Sandbox Code Playgroud)

所以据我所知,它不是内存数据库......

有没有人有任何想法为什么对象不会持久超过单个JVM会话?很高兴提供更多信息,但是与Hibernate/JPA/HSQL相关的状态如此之多,以至于不清楚到底是什么相关的.

java hibernate jpa hsqldb

25
推荐指数
3
解决办法
2万
查看次数

JPA - 如果不存在创建实体?

我的JPA/Hibernate应用程序中有几个映射对象.在网络上,我接收代表这些对象更新的数据包,或者实际上可能完全代表新对象.

我想写一个像这样的方法

<T> T getOrCreate(Class<T> klass, Object primaryKey)
Run Code Online (Sandbox Code Playgroud)

如果一个人在PK的PrimaryKey数据库存在,否则创建该类的一个新对象,持续,并将其返回,返回所提供的类的对象.

我将对该对象做的下一件事是在事务中更新其所有字段.

在JPA中有没有惯用的方法,或者有更好的方法来解决我的问题?

java database hibernate jpa

23
推荐指数
2
解决办法
4万
查看次数

如果你现在可以参加一门计算机科学课程,它会是什么?

如果您现在有机会参加一门计算机科学课程,结果会大大增加您在学科领域的知识,那会是什么?本科或研究生水平.

编译器?分布式算法?并发理论?先进的操作系统?

让我知道为什么.

(请注意,我很欣赏这不是一个遥不可及的场景 - 但时间和惯性可能会阻止人们参加课程或阅读书籍等等)

computer-science

19
推荐指数
8
解决办法
2966
查看次数

什么是一些有趣的小型Linux内核项目来帮助学习源代码?

对于内核的新手,您会建议哪些小项目,但是有足够的系统和C经验的人?目的是培养对内核源代码的熟悉程度,以及用于疯狂创意实验的工具.

我正在尝试考虑一些可管理的小任务(例如,添加一个系统调用),但你会建议什么?对于目标受众来说,想一个至少拥有本科操作系统课程的人.

linux operating-system kernel projects

13
推荐指数
3
解决办法
1万
查看次数

你关注多核吗?

这是不可否认的:多核计算机就在这里.

这就是:高效的多核编程非常困难.这不仅仅是了解pthreads的情况.

这是有争议的:"街头开发者"需要关注他/她自己的这些发展.

您在多大程度上担心必须扩展多核技能?您正在编写的软件是并行化的候选者,如果是,您是否正在做任何教育自己的事情(如果您还不知道这些技术)?或者您是否相信操作系统会处理大部分操作系统,语言运行时会做到这一点,您的应用程序将很乐意坐在一个核心上并让其他人做他们的事情?

multicore

13
推荐指数
6
解决办法
2521
查看次数

在Eclipse中的单独JVM中运行每个JUnit测试?

我有一个项目,在大约200个测试类中有近500个单独的测试.其中一些测试在完成后没有很好地拆除自己的状态,而在Eclipse中,这导致一些测试失败.当从命令行通过Ant运行测试套件时,测试全部通过.

我可以在Eclipse中以某种方式启用"测试隔离"吗?我不介意是否需要更长时间才能运行.

长期来看,我会清理行为不端的测试,但在短期内我想让测试工作.

java eclipse junit unit-testing junit4

13
推荐指数
1
解决办法
1万
查看次数

在elisp中是否有一个函数将补丁应用于缓冲区?

我正在研究审阅工具的emacs模式,并希望使用ediff来查看差异...问题是审阅工具只产生差异,而不是旧文件和新文件.我想将旧文件放在缓冲区并应用diff而不是复制文件,调用diff作为子进程并将其加载到单独的缓冲区中.

这可以不自己写,有人知道吗?

emacs diff patch elisp

9
推荐指数
2
解决办法
1691
查看次数

JNI能否在类路径中实现通配符扩展?

我有一个C二进制文件,通过JNI调用Java.我将CLASSPATH设置为somedir/*以获取somedir中的所有jar.

当我运行二进制文件时,找不到所需的类定义.我跑的时候

java that.class's.name 
Run Code Online (Sandbox Code Playgroud)

从同一命令行,成功找到该类.如果我明确地将somedir /中的所有jar添加到类路径中,一切都很好,但这导致了一个长的类路径,我想避免.

通过JNI执行的JVM是否支持类路径的通配符扩展?可以这样做吗?

c java unix java-native-interface classpath

6
推荐指数
1
解决办法
2171
查看次数

在每次测试之前,我应该如何重置JPA控制的数据库?

在单元测试之前,是否有最佳实践模式将数据库完全重置为使用JPA的新铺设模式?我一直在使用带有hbml2ddl.auto = create-or-drop的测试持久性单元并在每次测试之前重新创建EMF,但我想知道是否有更简洁的方法来执行它.

java testing integration-testing hibernate jpa

5
推荐指数
1
解决办法
8838
查看次数