JDBC连接关闭与中止

我问了这个问题( 如何调用java.sql.Connection :: abort? ),这引出了另一个问题。 同 java.sql.Connection conn = … ; 有什么区别 conn.close(); 和 conn.abort(…); ?

在Hibernate中保护实体免于级联删除

简单的问题:有没有人有任何想法如何保护某些实体在运行时在hibernate 中通过CascadeType.ALL删除(可能会抛出运行时exception)? 说,我们有一些实体: @Entity @Table(name = “FOO_ENTITY”) public class FooEntity { … } 我想保护它免受意外的错误映射,例如: @Entity @Table(name = “SOME_OTHER_FOO_ENTITY”) public class SomeOtherFooEntity { … @ManyToOne(cascade = CascadeType.ALL) @JoinColumn(name = “FOO_ENTITY_ID”) private FooEntity fooEntity; } 因此,应该可以通过session.delete(fooEntityObj)删除某个类型为FooEntity实体,但必须禁用它才能通过级联删除删除它( session.delete(someOtherFooEntityObj) )。 注意 :对于那些读我的问题不专心或认为我不明白我在问什么的人: 1)我无法删除 CascadeType.ALL 。 问题是:谁编程避免和保护这个? 2)unit testing不是方法,我正在寻找运行时解决方案。

Windows 7的Java应用程序是否存在兼容性问题?

围绕Windows 7的一些模糊,有人有Java兼容Windows 7的经验吗? 这应该是一个问题,还是程序可能正常工作? 如果有人有Swing应用程序的经验,我会特别感兴趣吗? 可用的版本似乎是beta版本,因此它们不会提供完美的评估基础,但有些。 br,Touko

按类抓住exception?

我想抓住一个我期望的例外,但允许其他人通过。 我现在遇到的解决方案是: protected void perfromCall(Class expectedException) throws Exception { try { response = call.call(request); } catch (Exception e) { if (!expectedException.isInstance(e)) { throw new Exception(e); } } } 虽然这会默默地吃掉我想要的预期exception并扔掉其他exception,但是我不喜欢的是它包装了意外的exception,现在我必须在调用者中捕获意外而不是之前(在尝试默默地捕获之前)预期的exception)我可以让它们冒泡到测试框架以使测试失败。 是否有一种更清晰的方式来说“我期望A类的exception,但对于任何其他exception,让它被抛到链上,直到它由上面的测试框架处理”? 编辑:我想提供一些理由,说明为什么我要这样做,因为有一些答案(现已删除)质疑默默地吃exception。 这适用于调用服务的测试框架。 一些测试将错误的参数传递给服务,因此他们期望服务因捕获无效请求而抛出exception。 因此,我想默默地吃掉预期的exception,但仍然让意外的exception冒泡并且测试失败。

Jackson JSON生成HTTP状态500,XML工作

我目前正在使用Jackson将Java对象序列化为JSON和XML作为REST Web服务的响应。 我有以下带注释的Java对象: @XmlRootElement(name = “Product”) @XmlAccessorType(XmlAccessType.FIELD) public class ProductDetailsView { @XmlElement private int id; @XmlElement private long EAN; @XmlElement private String manufacturer; @XmlElement private String modelname; @XmlElementWrapper(name = “onlineCompetitors”) @XmlElement(name = “competitor”) private List onlineCompetitors; 现在,前几个字段是原始类型,它们在JSON和XML中都完美地工作(事实上,有更多的原始字段)。 但是,从我添加OnlineCompetitorView列表的那一刻起,JSON序列化就不再起作用,并导致应用程序生成HTTP状态500(“内部服务器错误”)。 但是,当我使用application / xml作为接受的内容类型时,它可以完美地工作。 正确的XML响应: 1 5901234123457 Samsung 1 Shop1 4 488.95 7 2 Shop2 5 498.95 12 […]

ActionBarSherlock横向标签

我正在使用ActionBarSherlock在活动中实现4个选项卡。 选项卡在操作栏下方以纵向模式正确显示,滚动按预期工作。 当我切换到横向模式时,标签被放置在微调器中(它们仍能正常工作)。 如何强制标签在横向模式下单独显示(在操作栏或下方)? getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); getSupportActionBar().setDisplayHomeAsUpEnabled(true); ActionBar.Tab tab1 = getSupportActionBar().newTab(); tab1.setText(“TAB 1 TEXT”); tab1.setTabListener(this); getSupportActionBar().addTab(tab1); ActionBar.Tab tab2 = getSupportActionBar().newTab(); tab2.setText(“TAB 2 TEXT”); tab2.setTabListener(this); getSupportActionBar().addTab(tab2); ActionBar.Tab tab3 = getSupportActionBar().newTab(); tab3.setText(“TAB 3 TEXT”); tab3.setTabListener(this); getSupportActionBar().addTab(tab3); ActionBar.Tab tab4 = getSupportActionBar().newTab(); tab4.setText(“TAB 4 TEXT”); tab4.setTabListener(this); getSupportActionBar().addTab(tab4);

你能用Java重复执行一个任务吗?

是否可以每年,每分钟,每秒,每年重复执行一项任务? 我希望它像守护进程一样运行。 我需要一个计划任务来连续搜索数据库; 如果它找到某个值,那么它应该执行另一个任务。

Hadoop maven依赖性错误 – 找不到hadoop类

尽管我将以下依赖项导入到我的pom中,但未导入相关的Hadoop类(org.apache.hadoop.*) 。 1.0.4 org.apache.hadoop hadoop-client ${hadoop.version} org.apache.hadoop hadoop-core ${hadoop.version} org.apache.hadoop hadoop-examples ${hadoop.version} org.apache.hadoop hadoop-tools ${hadoop.version}

如何查找arraylist中不同项目的总数。

我做了一些搜索,但我找不到有效的解决方案。 我有一个arylylist存储字符串,如口香糖,袜子,OJ,狗粮…… 我无法迭代列表以确定不同类型的项目的总数。 即。 ArrayList Store = new ArrayList(); this.Store.add(“Gum”); this.Store.add(“Gum”); this.Store.add(“Socks”); this.Store.add(“Candy”); 该列表共有4个项目,但只有三种不同的项目(Gum,Sucks,Candy)。 我如何设计一种计算3的方法?

Java:如何计算代表金钱的double值中包含的小数位数?

对于使用Java制作的更改应用程序,我在计算double值中的小数位数时遇到问题。 double值表示money,因此我的所有操作都必须在对原始值进行操作后将12.58之类的双值存储为12.5797886。 为了抵消这种影响,我选择使用String,就像这样: String amountString = String.valueOf(amount); String decimals = amountString.substring(amountString.indexOf(‘.’) + 1); 所以,如果金额是12.58,我获得58而不是57978 …… 我的问题涉及大量,就像12849561476651.2501535这样的金额在科学记数法中转换,同时存储在一个双。 所以金额的双倍值将是1.284956147665125E13 不幸的是,我不能只计算点后的数字,并在位置13之后取一切。在这样的情况下,原始小数2501535在第三个位置包含0,位置13之后的结果四舍五入到25。 我找到了一些解决方案,对于想要在没有科学记数法的情况下打印小数值的人,他们使用.printf(%f,…)或类似的东西。 但是,如果可能的话,我如何计算双值中包含的小数位数并处理存储问题和科学记数法? 我必须能够知道是否有超过2个小数。 此外,如果你有一个非常高性能的解决方案,即使它是一个复杂或奇怪的解决方案,它会很棒。 谢谢