Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用hibernate实现CDI上的javax.jta.Transactional_Java_Hibernate_Cdi_Jta_Java Ee 7 - Fatal编程技术网

使用hibernate实现CDI上的javax.jta.Transactional

使用hibernate实现CDI上的javax.jta.Transactional,java,hibernate,cdi,jta,java-ee-7,Java,Hibernate,Cdi,Jta,Java Ee 7,就我在这里所读到的,这种组合应该是有效的: @Transactional(Transactional.TxType.REQUIRED) public List<ServerGroupDto> getAll() { List<ServerGroup> result = getSession().createCriteria(ServerGroup.class).list(); return result.stream().map((e) -> {

就我在这里所读到的,这种组合应该是有效的:

@Transactional(Transactional.TxType.REQUIRED)
public List<ServerGroupDto> getAll() {
    List<ServerGroup> result = getSession().createCriteria(ServerGroup.class).list();
    return result.stream().map((e) -> {
            ServerGroupDto retval = new ServerGroupDto();
            retval.setGroupName(e.getGroupName());
            retval.setRejectCallOnSessionLimit(Boolean.valueOf(e.getRjtCallForSessLimit()));
            retval.setRouteByWeight(Boolean.valueOf(e.getRouteByWeight()));
            return retval;
    }).collect(Collectors.toList());
}
@Transactional(Transactional.TxType.REQUIRED)
公共列表getAll(){
List result=getSession().createCriteria(ServerGroup.class).List();
返回result.stream().map((e)->{
ServerGroupDto retval=newservergroupdto();
setGroupName(例如getGroupName());
retval.setRejectCallOnSessionLimit(Boolean.valueOf(e.getRJTCallForSessionLimit());
retval.setRouteByWeight(Boolean.valueOf(e.getRouteByWeight());
返回返回;
}).collect(Collectors.toList());
}
但是Hibernate会抱怨:
org.Hibernate.hibernateeexception:无法找到当前的JTA事务


我做了一些不该做的事吗?使用Hibernate4.3.11和Wildfly 8.2.1。上面的代码是CDI应用程序范围。

您的entitymanager是否有生产者?您正在使用JTA数据源吗?您不应该需要Transactional.TxType.REQUIRED@事务性很好。@TerrenceCurran是正确的,但问题并没有涉及到
EntityManager
和JPA-看起来Hibernate是直接使用的。@G.demacki哦,对了。我没注意到。事务处理与直接hibernate一起工作吗?我想不会。@G.Demecki是的,我直接使用Hibernate(需要多租户)。我有一个会议制作人。你需要提供更多信息。例如,完整的堆栈跟踪、完整的类等。FWIW,我使用Hibernate Multitenance w/实体管理器接口,但我也使用DeltaSpike数据。