小编Joh*_*pel的帖子

CDI 事务管理:@Transactional 如何工作?

在会话范围内有一个简单的 CDI bean,注入了一个实体管理器:

@Named("myBean")
@SessionScoped
public class MyBean implements Serializable {
    private static final long serialVersionUID = 1L;

    @Inject
    EntityManager em;
   ...

    @Transactional
    private void testInsert() {
        long t = System.currentTimeMillis();

        for (int i=1; i<50000; i++) {  
            create(i);
        }
       System.out.println("Time: " + Long.toString(System.currentTimeMillis()-t));
    }

    private void create(int i) {
        Project p = new Project("Project " + i);
        em.persist(p);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当通过 EL #{myBean.testInsert} 调用函数时,有两件事似乎很奇怪:

1)将@Transactional-annotation 移动到方法 create(int) 我得到:

javax.persistence.TransactionRequiredException:JBAS011469:需要事务来执行此操作(使用事务或扩展持久性上下文)

2)改用@Transactional 装饰 testInsert(),该函数立即返回,但 JPA 仍在后台线程中更新数据库。该过程需要 2 分钟才能完成仅 50000 条记录的 INSERT。在进程中关闭 Java …

ejb jpa transactions cdi jakarta-ee

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

JPA:分离附加的只读实体列表

在查询后分离大型列表的实体是否有益,即对这些实体使用默认模式,例如:

// Find all
for List<Device> devices = em.createNamedQuery("find.*.devices", Device.class).getResultList();

// Detach all
for (Device d : devices) {
  em.detach(d);
}
Run Code Online (Sandbox Code Playgroud)

我们可以避免某种负面影响,例如错误地为被认为是"只读"(可以保证)的实体更新数据库或者节省内存.

jpa java-ee

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

java.net.UnknownHostException @Android(Simple HttpResponse-Code)

亲爱的女士们,先生们,

我完成了我的作业,我已经google了很多,我想我知道问题所在的位置:

我想JSON formated从本地Apache 获取一些简单的数据.当我开始

httpclient.execute(httppost)

...我收到(通过printStackTrace()):

02-04 13:26:12.292: W/System.err(9606): java.net.UnknownHostException: http://localhost/JSON/request2.php
02-04 13:26:12.292: W/System.err(9606): java.net.UnknownHostException: http://127.0.0.1/JSON/request2.php
(after including the line "127.0.0.1 www.localhost.alt" to my Host file):
02-04 13:26:12.292: W/System.err(9606): java.net.UnknownHostException: http://www.localhost.alt/JSON/request2.php
Run Code Online (Sandbox Code Playgroud)

我真的需要帮助.你有什么想法吗?

问候,

约翰


编辑:

我做了一些研究,发现这篇文章: 模拟器网络

正如您所看到的,localhost&127.0.0.1是为模拟器环回本身保留的!

这就是为什么Dark说他必须在那里使用10.0.2.2时是绝对正确的.非常感谢!

java android http

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

Python解析列表和csv中的元组列表

这真是令人沮丧:我在csv文件中经过长时间的长时间计算后,只存储了一些包含列表的数据行.我无法将csv数据恢复为变量.它更精确一排

皮特; [1,2,3,4,5].[(1,2),(3,4),(5,6),...]

当然,Python csv解析为一个字符串:/,因此,如果我尝试list() - 强制转换,它就像:

list("[(1,2),(3,4)]") = ['[','(','1',',',...]
Run Code Online (Sandbox Code Playgroud)

你有任何想法应对这个吗?

以为我可以使用:

对于csvfile中的名称,列表,lTuples:

...

非常感谢!

python

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

JPA:结果列表 - 将 Object[] 转换为元组

简单的问题,但我没有看到我的推理错误。有一个命名查询,其中选定的成员而不是整个行/实体作为结果。

现在我想使用方便的元组方法访问成员字段。

q = em.createNamedQuery("test.findvar");
List<Tuple> tuples = q.getResultList();    
for (Tuple t : tuples)
   System.out.println(t.get(0) + " " + t.get(1));
Run Code Online (Sandbox Code Playgroud)

不幸的是它让我困惑:

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to javax.persistence.Tuple
Run Code Online (Sandbox Code Playgroud)

一切正常:

q = em.createNamedQuery("test.findvar");
List<Object[]> objs = q.getResultList();    
for (Object[] obj : objs)
    System.out.println(obj[0] + " " + obj[1]);
Run Code Online (Sandbox Code Playgroud)

我的第一个解决方案有什么问题?

java entity jpa

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

通过each()添加的jQuery事件处理程序似乎覆盖了之前的那些

这是我第一次使用jquery而且我不理解以下'副作用':

的script.js:

$(function() {
  $("button").each(function() { 
    $t=$(this);                 
    $t.on("click", function() {
      console.log("Id: " + $t.attr('id'));
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

HTML:

...
<body>
  <button id="de">de</button>
  <button id="en">en</button>
</body>
Run Code Online (Sandbox Code Playgroud)

当我单击"de"按钮然后单击"en"按钮时,日志会给我:

en
en
Run Code Online (Sandbox Code Playgroud)

这似乎是在第二次调用时覆盖监听器功能的效果,是吗?我该如何避免这种情况?

javascript jquery closures

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

使@ConfigurationProperties属性部分为强制性

给定以下简单(非嵌套)配置属性类:

@ConfigurationProperties("env")
public class MyServiceProperties {
  private String anyProperty;
  private Boolean anyOther;
...
Run Code Online (Sandbox Code Playgroud)

}

如何确保anyProperty是强制性的,即必须将env.any-property设置为启动应用程序?嵌套配置属性类有什么区别吗?

spring

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

使用元组和operator.itemgetter对字典进行排序

我在最后一个里程碑之前准备合适的输出.我认为它非常简单,但我的方法不起作用:

给出一本字典

mydict = {x1: (val1, dist1, (lat1, lon1)), x2: (val2, dist2, (lat2, lon2)), ...}
Run Code Online (Sandbox Code Playgroud)

我尝试在数组中以嵌套方式对其进行排序,首先使用"值",如果等于,则排序为"dist".

但是,我做了我的作业并尝试使用这种方式:

import operator
s = sorted(mydict.iteritems(), key=operator.itemgetter(1))
Run Code Online (Sandbox Code Playgroud)

问题是,如果排序方法适用于元组,那将非常简单,因为它已经是正确的顺序.

不幸的是我得到:

'list'对象不可调用

你有好主意吗?

python numpy

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

标签 统计

jpa ×3

java ×2

python ×2

android ×1

cdi ×1

closures ×1

ejb ×1

entity ×1

http ×1

jakarta-ee ×1

java-ee ×1

javascript ×1

jquery ×1

numpy ×1

spring ×1

transactions ×1