小编Gab*_*son的帖子

Hibernate不尊重MySQL auto_increment主键字段

我正在努力学习Hibernate的工作原理,并且我遇到了几乎无法接受的学习曲线.我看不出如何让Hibernate尊重我的对象的auto_increment策略.相反,它使用现有ID覆盖数据库中的条目,从1开始.

我有一个简单的Foo对象,由如下定义的MySQL表支持:

CREATE TABLE `Foo` (
  `fooId` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`fooId`),
)
Run Code Online (Sandbox Code Playgroud)

我已经确认用SQL(insert into Foo values();)手动插入多个Foo对象是正确的.

我的Java类使用如下注释指定了ID:

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="fooId")
private Integer id;
Run Code Online (Sandbox Code Playgroud)

然后我执行一些测试代码,简单地实例化Foo对象并将它们保存到数据库中(使用session.save(obj)).它似乎使用自己的主键序列,从一开始,并没有查看表的关键策略.它会覆盖那里的一切.

我已尝试过该@GeneratedValue位的变体(使用所有可能的策略,不考虑括号子句).有人甚至建议GeneratedValue完全放弃.似乎没什么用.

我要留下什么了?我错过了什么?Hibernate真的很难吗?

(如果有人有另一种Java数据库持久性选项,请建议一个.我正在制作原型,而不是长期的mondo工程项目.)

java mysql hibernate

20
推荐指数
2
解决办法
3万
查看次数

处理与(普通)Java

我实验室的很多人都使用Processing.当然他们的工作很酷,但我想知道使用Processing比普通旧Java有什么好处?是否让我做了我本来难以做到的事情?

是的,我已经浏览了http://processing.org,但它并没有真正解释为什么Processing只是带有简洁的IDE和一组库的Java.

java processing

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

如何使用在Java Maps中设置为键

我有一个使用Set作为键类型的Map,如下所示:

Map<Set<Thing>, Val> map;
Run Code Online (Sandbox Code Playgroud)

当我查询map.containsKey(myBunchOfThings)时,它返回false,我不明白为什么.我可以遍历键集中的每个键,并验证是否有一个键(1)具有相同的hashCode,(2)对于myBunchOfThings是equals().

System.out.println(map.containsKey(myBunchOfThings)); // false.
for (Set<Thing> k : map.keySet()) {
  if (k.hashCode() == myBunchOfThings.hashCode() && k.equals(myBunchOfThings) {
     System.out.println("Fail at life."); // it prints this.
  }
}
Run Code Online (Sandbox Code Playgroud)

我是否从根本上误解了containsKey的合约?使用集合(或更一般地说,集合)作为地图的关键是否有秘密?

java collections

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

可以将Eclipse配置为禁用派生源文件的警告吗?

我正在使用ANTLR生成Java源文件.我可以让Eclipse了解生成的文件是派生的,但它仍然会给我警告无害的东西(例如不必要的导入等).我想配置Eclipse在显示警告时忽略派生文件.这可能吗?

java eclipse derived

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

Loopy Belief传播代码示例

有没有人知道贝叶斯网络(loopy)信念的和积算法的工作代码示例?我已经在地球上冲了几天但运气不好.我对它的语言无动于衷.

我在这个主题上发现的所有文件都充满了神秘而荒谬的数学说法.它似乎不是一个困难的算法,但我不能确定,因为一些棘手的位被掩盖了这么多.

或者,使用实数(而不是变量名)的示例也可能会起到作用.

bayesian

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

用于重新排列简单符号代数表达式的算法

我想知道是否有一个直接的算法来重新排列简单的符号代数表达式.理想情况下,我希望能够在左侧单独使用一个变量重写任何此类表达式.例如,给定输入:

m = (x + y) / 2
Run Code Online (Sandbox Code Playgroud)

......我想能问x来讲my,或y在条款xm,并得到这些:

x = 2*m - y
y = 2*m - x
Run Code Online (Sandbox Code Playgroud)

当然,我们已经在纸上完成了这个算法多年.但我想知道是否有一个名字.这似乎很简单,但如果有人已经编目了各种"陷阱",它将使生活更轻松.

为了我的目的,我不需要它来处理quadratics.

(是的,CAS系统会这样做,是的,我知道我可以将它们用作库.我想在我的应用程序中避免这种依赖.我真的只想知道是否有命名算法来解决这个问题.)

algorithm cas algebra

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

如何设置和调用ANTLR4 Javascript访问者

任何人都可以解释或指向一个使用ANTLR4 Javascript Visitor实现的工作示例吗?ANTLR4 Javascript目标的文档显示了如何实现监听器,而不是访客.

这个问题不是关于ANTLR语法,甚至不是工具本身.我可以使用该工具愉快地生成访问者JS文件.我根本不知道如何调用它.

javascript antlr4

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