我从编译器得到的错误是"赋值的左侧必须是变量".我的用例是深度复制,但并不真正相关.
在C++中,可以分配给*this.
问题不在于如何规避任务this.这很简单,但是决定不做this变量的背后有什么理由.
原因是技术性的还是概念性的?
我的猜测到目前为止 - 在随机方法中重建Object的可能性容易出错(概念性),但技术上可行.
编辑请限制"因为Java规范如此说"的变化.我想知道决定的原因
使用JPA,我们可以使用手动OPTIMISTIC或PESSIMISTIC锁定来处理事务中的实体更改.
我想知道如果我们没有指定这两种模式中的一种,JPA如何处理锁定?没有使用锁定模式?
如果我们没有定义显式锁定模式,数据库完整性是否会丢失?
谢谢
是否可以使用CDI将参数注入方法调用?预期的行为类似于现场注入.查找首选生产者并使用产品.
我想做的是:
public void foo(@Inject Bar bar){
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
或者这个(使用较少混淆的sytax):
public void foo(){
@Inject
Bar bar;
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,此语法都是非法的 还有其他选择吗?如果不是 - 如果有可能,出于某种原因,这会是一个坏主意吗?
谢谢
编辑 - 我可能已经使我的要求不够清楚 - 我希望能够直接调用该方法,将bar变量的初始化留给容器.JörnHorstmann和Perception的回答表明这是不可能的.
...没有实际阅读和解析 persistence.xml
我可以EntityManager使用它的工厂属性检索一个持久性单元的名称.我可以使用jboss-as-controller-client检索可用的数据源.但我发现没有API会给我一个特定的数据源EntityManager.
一个String一个名字就足够了.
谢谢
我在JBoss 7.1.1.Final上使用Hibernate 4.0.1.Final而不是JPA 2.
编辑:我想尽可能避免从JPA转向Hibernate API.
编辑:奥古斯托的解决方案工作,我有一些关于细节的注释:EM的铸造因为ClassCastException:( org.jboss.as.jpa.container.TransactionScopedEntityManager cannot be cast to org.hibernate.ejb.EntityManagerImpl)而无效,但它适用于检索到的工厂.所以我省略了第1步.
我也找不到从实例中检索数据源名称的方法.所以我不得不满足于目录名称:connectionProvider.getConnection().getCatalog();
在进入TDD循环之前,我想草拟出需要实现的测试 - 即用口头名称编写空的测试方法.
不幸的是,我还没有找到一种"将它们涂成黄色"的方法 - 将它们标记为等待JUnit.我可以让他们失败或通过.现在我通过投掷让他们失败Exception,但我宁愿使用pending来自rspec 的等价物.
在JUnit或"相邻"库中有这样的选项吗?
我想从命令行检查是否groupId.artifactId.version可以在存储库中找到某个coordinate().
如果可能,可以使用部分坐标(例如artifactId.version)吗?我可以指定回购吗?
我不要求解决方法 - 我可以简单地在我的本地仓库中启动文件搜索,或者在POM中输入工件并等待错误,或者安装Nexus并在UI上搜索...
这是一个方便的事情 - 一旦在CLI上,能够快速检查将是很好的.
可能重复:
JIT编译器与脱机编译器
我听说在某些情况下,由于JIT优化,Java程序或java程序的某些部分能够比C++(或其他预编译代码)中的"相同"代码执行得更快.这是因为编译器能够确定某些变量的范围,避免一些条件并在运行时拉出类似的技巧.
你能给出一个(或更好 - 一些)例子吗?并且可能概述了编译器能够优化字节码超出预编译代码可能性的确切条件?
注意:这个问题不是将Java与C++进行比较.它关于JIT编译的可能性.请不要燃烧.我也不知道有任何重复.如果你是的话请指出来.
我已经知道如何以艰难的方式完成它并使其工作 - 迭代条目并"手动"交换.但我想知道,像这么多任务一样,这个问题能否以更优雅的方式解决.
我读过这篇文章,遗憾的是它没有优雅的解决方案.我也没有可能使用任何花哨的Guava BiMaps或jdk以外的任何东西(已经定义了项目堆栈).
我可以假设我的地图是双射的,顺便说一下:)
如果我定义了use一个xs:attributeas optional或者根本没有定义它,它是否对任何目的(验证,绑定......)都很重要?
如果它是多余的,为什么要提供它?
在重构字段时,eclipse中的默认行为是仅重命名字段,使访问器方法名称不一致.
按Alt+Shift+R两次显示"重命名对话框",我可以选择是否应重命名访问者(作为两个单独的选项).这减轻了手动重命名访问器的痛苦,但仍然非常不理想,包括按下3个快捷方式,而不是使用就地重命名,加上我平常的健忘...... :)
我想不出为什么我不希望我的重构保持一致的原因,那么有没有办法让访问者重命名默认行为?只要有效,我就可以调整神秘的设置并设置模糊的标志.
谢谢
java ×7
jpa ×2
artifacts ×1
cdi ×1
collections ×1
eclipse ×1
hashmap ×1
hibernate ×1
java-ee ×1
jboss-weld ×1
jboss7.x ×1
jit ×1
jpa-2.0 ×1
junit ×1
junit4 ×1
maven ×1
optimization ×1
performance ×1
refactoring ×1
reference ×1
schema ×1
search ×1
tdd ×1
this ×1
transactions ×1
xml ×1
xsd ×1