如果我们在使用@Transactional注释注释的方法中捕获异常,那么如果发生任何异常,它是否会回滚?
@Transactional(readOnly = false, propagation = Propagation.REQUIRED, rollbackFor=Throwable.class)
public void yearEndProcess() {
try {
// try block
} catch (Throwable throwable) {
// catch block
}
}
Run Code Online (Sandbox Code Playgroud) 我正在经历Java垃圾收集过程以及GC适用的不同场景.
以下是我感到困惑的情景:
List<X> listX = new ArrayList<X>();
for(int a = 0;a<100;a++){
listX.add(new X(a));
}
for (X xObject : listX) {
xObject.printValue();
}
Run Code Online (Sandbox Code Playgroud)
在第一个循环中,我在每个循环中添加新对象,在最新循环中,我只是打印值,因此,我在列表中添加的那些对象是否适用于GC?
这句话是什么意思?
"当一个实例有资格进行垃圾收集时,还有一个很好的例子.实例的所有属性都可以存储在寄存器中,然后访问寄存器来读取值.将来不会出现这些值.写回实例.虽然这些值可以在将来使用,但仍然可以将此实例标记为有资格进行垃圾回收"
我有一个实体A,它有一些属性,并引用另一个实体B.
A{
....
@ManyToOne(fetch=FetchType.LAZY)
B b;
...
}
Run Code Online (Sandbox Code Playgroud)
对于B(B中的A的@onetomany)也是如此.它是一种双向关系.在为实体A调用Web服务时,它提供了对B实体的链接,而不是响应json中的整个对象.我希望Web服务响应JSON中的整个对象而不是链接到该相关实体.我怎样才能做到这一点?我使用springboot + spring数据jpa + hibernate作为jpa提供者+ spring 4