小编Ham*_*zeh的帖子

如何在Hibernate中执行原子操作?

嗨,
我有一个hibernate实体,它有一组另一个实体作为其字段.像这样的东西:

public class UserEntity implements Srializable {
    private Set<Role> roles;
}
Run Code Online (Sandbox Code Playgroud)

我应该以一种方式保留表,即系统中始终存在至少一个ADMIN用户.这可以通过简单的方式完成,如下所示:

public void updateUser{
     UserEntity ue = getUser();
     if (userIsNotTheLastAdmin(ue)) {
     /** Here is a race condition **/
         roles.remove(Role.ADMIN);
         getSession().saveOrUpdate(ue);
     }              
}
Run Code Online (Sandbox Code Playgroud)

但是当我们进行并发操作时会发生真正的问题.如何以原子方式执行所有操作?
谢谢,
HM

hibernate transactional

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

Hibernate中的多个事务

是否有多次在一个会话上调用beginTransaction的风险?我的意思是例如:

session.beginTransaction();
session.saveOrUpdate(object1);
// .... some works
session.beginTransaction();
session.delete(object2);
// ... some other works
session.getTransaction.commit();
Run Code Online (Sandbox Code Playgroud)


我这样做了,似乎没有问题(任何异常或警告).事实上,我想知道当我以这种方式使用事务时会发生什么.

java hibernate

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

docx4j支持的XHTML标记列表

是否有列表显示docx4j XHTML导入程序支持哪些XHTML标记和CSS属性?
谢谢.

docx4j

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

Openfire:脱机的UTF-8编码消息保存错误


我们使用Openfire 3.9.3.它的MySql数据库使用utf8_persian_ci排序规则,在openfire.xml中我们有:

...<defaultProvider> 
  <driver>com.mysql.jdbc.Driver</driver>  
  <serverURL>jdbc:mysql://localhost:3306/openfire?useUnicode=true&amp;amp;characterEncoding=UTF-8</serverURL>  
  <mysql> 
    <useUnicode>true</useUnicode> 
  </mysql> ....
Run Code Online (Sandbox Code Playgroud)

问题是包含波斯字符(UTF-8编码)的离线消息被保存为问号字符串.例如,سلام(在波斯语中意为你好)被存储并显示为????.

openfire

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

标签 统计

hibernate ×2

docx4j ×1

java ×1

openfire ×1

transactional ×1