在会话范围内有一个简单的 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 …
在查询后分离大型列表的实体是否有益,即对这些实体使用默认模式,例如:
// 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)
我们可以避免某种负面影响,例如错误地为被认为是"只读"(可以保证)的实体更新数据库或者节省内存.
亲爱的女士们,先生们,
我完成了我的作业,我已经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时是绝对正确的.非常感谢!
这真是令人沮丧:我在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:
...
非常感谢!
简单的问题,但我没有看到我的推理错误。有一个命名查询,其中选定的成员而不是整个行/实体作为结果。
现在我想使用方便的元组方法访问成员字段。
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)
我的第一个解决方案有什么问题?
这是我第一次使用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)
这似乎是在第二次调用时覆盖监听器功能的效果,是吗?我该如何避免这种情况?
给定以下简单(非嵌套)配置属性类:
@ConfigurationProperties("env")
public class MyServiceProperties {
private String anyProperty;
private Boolean anyOther;
...
Run Code Online (Sandbox Code Playgroud)
}
如何确保anyProperty是强制性的,即必须将env.any-property设置为启动应用程序?嵌套配置属性类有什么区别吗?
我在最后一个里程碑之前准备合适的输出.我认为它非常简单,但我的方法不起作用:
给出一本字典
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'对象不可调用
你有好主意吗?