小编oym*_*oym的帖子

帮助数据库设计

我想为我正在研究的一个小项目设计数据库表的一些建议.假设在这个系统我有articles,subarticles和comments.

每篇文章都有子文章.文章和子文章都可以有评论.我考虑过为每个表自动增量int主键(即articleId,subarticleId和commentId).子粒子将有一个articleId作为Article表中的外键等.

但出于某些原因,我想要一个全球唯一ID的概念.实现这个的最佳方法是什么?我应该uuid在每个表中都有一个主键,并使用前面提到的Id列作为常规列(因为我仍然希望与每个对象关联的逻辑编号)?或者我应该制作某种object包含uuid?的主映射表?

有关实施此方法的好方法的任何建议将不胜感激!

mysql database database-design

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

利用Hibernate延迟加载?

我有一个域对象,其属性是包含另一个域对象的集合.这是使用hibernate映射(最终在另一个表上执行连接)来完成的.默认情况下,Hibernate似乎懒得实例化这个集合.事实证明这是件好事,因为根据我需要显示的内容,我并不总是需要加载集合.

我的问题如下:在编写我的hibernate查询时(在我的DAO中),我使用以下内容来打开/关闭会话:

Session session = getSessionFactory().openSession();
//query goes here using the session var
session.close();
Run Code Online (Sandbox Code Playgroud)

问题是:当Hibernate最终懒洋洋地加载我的集合时,Session很久就被关闭了!我怎么能绕过这个?我假设我必须像我一样关闭会议......

这是我得到的错误:

SEVERE: failed to lazily initialize a collection of ...
Run Code Online (Sandbox Code Playgroud)

java spring hibernate lazy-loading

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

访问"属性"时未定义Javascript对象值?

为什么这样undefined:

var testObj = {
   CONSTANT: "blah",
   someVal: this.CONSTANT
}
console.debug(testObj.someVal); // prints "undefined"
Run Code Online (Sandbox Code Playgroud)

如果它与我实际创建新原型的事实有关,因此this关键字不起作用,那么我也想知道以下内容:

我正在使用Dean Edward的base.js,我正在尝试做类似于上面的事情:我有一个扩展Base的对象:

Test = Base.extend({
  testObj: {
   someVal: this.CONSTANT
  }
  CONSTANT: "blah";
});
var test1 = new Test();
console.debug(test1.testObj); // someVal is undefined
Run Code Online (Sandbox Code Playgroud)

在上面,如果我这样做,someVal: "blah"它按预期工作; 我只是不确定为什么我无法访问this.CONSTANT.如果因为它this被应用于范围testObj而不是Test,那么我该如何解决这个问题(我尝试设置that: this变量,没有运气)?

更新:基于答案,我看到我做错了.我现在的问题是:使用base.js模型,是否有一种方法可以从同一个类(函数外)中访问"类级"常量?

javascript

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

正确使用scala地图

我发现自己在Option值上使用Scala map函数,如下所示:

optionVal.map( val => {
  doSomethingWith(val)
  doSomethingElseWith(val)
  // etc. (an example could be executing a database query)
})
Run Code Online (Sandbox Code Playgroud)

其中optionVal可以是例如:

Option[String]
Run Code Online (Sandbox Code Playgroud)

换句话说,我使用它作为一种方法来确保Option填充了某些内容,如果是这样,则执行一个语句块.

对于我来自Java世界来说似乎有点奇怪和错综复杂,只会检查对象(if (someObject != null) { // execute statements}).此外,似乎它可能在语义上不是地图功能的目的,即使它有效.所以我想检查这是否是在Scala中执行此操作的正确/惯用方法.

functional-programming scala

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