小编Wun*_*orn的帖子

使用Spring,为什么H2事务回滚在嵌入式数据库模式下可以正常工作,而在服务器模式下却不能?

一个简单的 spring 服务,具有插入并在插入后抛出运行时异常的方法。运行时异常应该导致回滚。

@Transactional()
public void insertAndThrowRuntimeEx()  {

    Order order = new Order();

    entityManager.persist(order);

    throw new RuntimeException("Unexpected runtime exception");

}
Run Code Online (Sandbox Code Playgroud)

仅当我使用以下命令配置 dataSource 时,回滚才会正确显示:

<jdbc:embedded-database id="dataSource" type="H2" /> <!-- with this configuration there is correct rollback -->
Run Code Online (Sandbox Code Playgroud)

但是当我在独立模式下使用数据库时,没有回滚,或者回滚无效:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"    <!-- here inserted record remains in database -->
    p:driverClassName="org.h2.Driver" p:url="jdbc:h2:tcp://localhost/databases/test1"
    p:username="sa" p:password="" />
Run Code Online (Sandbox Code Playgroud)

为什么事务回滚可以在 H2 嵌入式数据库模式下正常工作,而在服务器模式下不能正常工作?

ps,还配置了事务管理器

    @Bean
public PlatformTransactionManager transactionManager() {
    JpaTransactionManager manager = new JpaTransactionManager( localContainerEntityManagerFactoryBean().getObject() );
    return manager;
}

    <tx:annotation-driven transaction-manager="transactionManager" />
Run Code Online (Sandbox Code Playgroud)

spring 调试日志说事务已回滚:

现在抛出运行时异常

2014-07-03 20:02:05,965 …
Run Code Online (Sandbox Code Playgroud)

java spring transactions h2 spring-transactions

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

使用 Map 对 Java 对象进行杰克逊序列化?

我有一个这样的 Java 类,想使用 Jackson 转换为 JSON。谢谢你的帮助。

  1. Java类

    public class myClass {
       String Id;
       Map<String, Object> optionalData = new LinkedHashMap<String, Object>();
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如何使用 Jackson ObjectMapper 将其序列化为 JSON?

例如,假设optionalData是一个保存两个条目的 Map <"type", "book"><"year", "2014"> 我希望输出如下。请注意,optionalData 的键/值可以动态更改(因此,如果不使用 Map,我无法为此创建“静态”Java 对象)

  [ 
    { 
      id: "book-id1",
      type: "book",
      year: "2014"
    },
    { 
      id: "book-id2",
      type: "book",
      year: "2013"
     }
  ]
Run Code Online (Sandbox Code Playgroud)

java json jackson

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

将所有选择选项文本更改为大写、Jquery 或 CSS

有以下国家选项列表并且显示的文本都是大写的;

<select id="countrySelect"..>
    <option value="SG">Singapore</option>
    <option value="JP">Japan</option>
    ...
</select>
Run Code Online (Sandbox Code Playgroud)

这些所有显示文本如何像SINGAPORE , JAPAN一样大写等一样大写?

任何JQuery一种CSS方式都值得赞赏,哪一种更好?

html css jquery

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

标签 统计

java ×2

css ×1

h2 ×1

html ×1

jackson ×1

jquery ×1

json ×1

spring ×1

spring-transactions ×1

transactions ×1