我使用Hibernate几年但不确定Query和Criteria的用法.
我明白,Hibernate的优势之一就是在一个地方控制字段名称.如果我有以下代码:
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.like("name", "Fritz%") )
.add( Restrictions.between("weight", minWeight, maxWeight) )
.list();
Run Code Online (Sandbox Code Playgroud)
如果我在java对象中更改Cat的"名称"怎么办?
即使使用重构替换(如在Elipse中),它也不会将元素检测为需要更改的内容!
如果是这样,你如何在Java中维护字段名称?
我有一个名为插件的枚举:
public enum Plugins {
ROTATING_LINE (plugin.rotatingline.RotatingLine.class),
SNOW_SYSTEM (plugin.snow.SnowSystem.class);
private Class<?> c;
private Plugins (Class<?> c) {
this.c = c;
}
public Class<?> getClassObject() {
return c;
}
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是循环遍历所有枚举Plugins并使用变量创建新对象,c如下所示:
for (Plugins plugins : Plugins.values()) {
Class<?> c = plugins.getClassObject();
pluginList.add(new c(400, 400));
}
Run Code Online (Sandbox Code Playgroud)
有没有办法用类似的方法完成这个?我想这样做的原因是创建一个类列表,当我启动我的应用程序时应该添加到List插件.
我们在Grails应用程序中配置了Spring Security,但看起来我们没有完全正确配置.它拦截每一个单件装载,每个页面加载需要很长时间.
如何记录所有安全插件活动?
当我运行Play命令时,日志在终端中显示出很好的颜色和干净,但是当我在Jenkins中构建我的应用程序时,日志会显示颜色代码,令人难以理解.
命令行日志:
[info] ApplicationSpec
[info] Application should
[info] + send 404 on a bad request
[info] x render the index page
[error] '401' is not equal to '200' (ApplicationSpec.scala:25)
[info] Total for specification ApplicationSpec
[info] Finished in 134 ms
[info] 2 examples, 1 failure, 0 error
[error] Failed: Total 3, Failed 2, Errors 0, Passed 1
[error] Failed tests:
[error] ApplicationSpec
[error] IntegrationSpec
[error] (test:test) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 23 s, completed Mar 26, 2014 10:00:34 AM
Run Code Online (Sandbox Code Playgroud)
詹金斯记录: …
从相对未规范化的形式获取数据库并对其进行规范化时,资源利用率会发生什么变化(如果有的话)?
例如,规范化通常意味着从更少的表创建更多的表,这意味着数据库现在具有更多的表,但是其中许多表非常小,允许经常使用的表更好地适应内存.
更多的表还意味着需要(可能)更多的连接来获取抽象出来的数据,因此可以预期系统需要进行的更多连接会产生某种影响.
那么,规范化非规范化数据库对资源使用有什么影响(即什么会改变)呢?
编辑:为了添加一些上下文,我有一个现有的(即遗留的)数据库,有超过300个可怕的表.大约1/2的数据是TEXT,另一半是char字段或整数.没有任何限制.我问的原因主要是获取更多信息,以说服其他人事情需要改变,并且不会降低性能或可维护性.不幸的是,那些我必须说服的人已经足够了解非规范化数据库的性能优势,希望尽可能避免规范化.
我有一个理论上可以在没有与之关联的Activity的情况下工作的服务(因为"服务"是在Android平台上).
此服务使用蓝牙,特别是注册具有侦听通信的给定名称的蓝牙服务.当然要工作,它必须激活蓝牙.
正如蓝牙api文档中所示,我正在使用它BluetoothAdapter.ACTION_REQUEST_ENABLE来提示用户启用蓝牙,以防它已经打开.但是,这是一项活动,因此需要从另一项活动中调用,即:
Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
InstanceOfAnActivity.startActivity(enableIntent);
Run Code Online (Sandbox Code Playgroud)
我想实现的是有服务(其中,例如,在开机启动时),从任何活动完全解耦,因此不会有InstanceOfAnActivity启动弹出指导用户打开蓝牙.
现在,我知道有(臭名昭着的)调用BluetoothAdapter.enable(),但正如文档所说,它不应该被直接调用.
那么,任何针对这种困境的提示/解决方案?(也许这很简单,我只是遗漏了一些......)
我正在尝试在Linux系统上的Grails项目中引用IntelliJ IDEA 9.0.2中的类.我将依赖项添加到BuildConfig.groovy:
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
runtime 'mysql:mysql-connector-java:5.1.5'
compile 'org.apache.poi:poi-ooxml:3.6'
}
Run Code Online (Sandbox Code Playgroud)
我org.apache.poi在我的~/.ivy2/cache目录中看到了,但在引用jar中的类时遇到编译错误.实际上,代码完成不会显示任何org.apache.poi类.所以看来IntelliJ不知道这些类.
我有什么想法我做错了吗?为什么IntelliJ没有看到这些类?
我们已经和Grails合作了一段时间,我的团队负责人提出了一些关于Grails ORM(GORM)的问题:
我有一个父类,它有一个重载的构造函数,我有一个子类,它有一个带有可选参数的构造函数.有没有办法让子类的构造函数仍然暴露父类的重载,同时保留它自己的可选参数?
这是两个类及其所需构造函数的一些示例代码:
class Foo {
Foo(String arg0)
{
// do some stuff with arg0
}
Foo(String arg0, List<x> arg1)
: this(arg0)
{
// do some other stuff with arg1 that is special because we have an arg1
}
}
class Bar : Foo {
Bar(String arg0, List<y> arg2 = null, String arg3 = "")
: base(arg0)
{
// some third thing with arg2 and arg3
}
}
Run Code Online (Sandbox Code Playgroud)
这是其他子类构造函数的方法签名我也想要公开父构造函数的重载,但问题是如何做到这一点:
Bar(String arg0, List<x> arg1, List<y> arg2 = null, String arg3 = "") …Run Code Online (Sandbox Code Playgroud) 我有2组2个类,其中每对具有超/子类关系,并且正交对具有依赖关系.我想要确定的是如何处理属性的构造函数和/或主体,以尽可能简化模型,同时尽量减少数据重复.
这是代码中的结构:
public class Base1 {
public List<Base2> MyBase2Things { get; set; }
// Do things with Base2 objects
}
public class Sub1 : Base1 {
public List<Sub2> MySub2Things { get; set; }
// Do things with Sub2 objects and also with Base2 objects
}
public class Base2 {
public Base1 MyBase1 { get; set; }
// Do things with the Base1 object
}
public class Sub2 : Base2 {
public Sub1 MySub1 { get; set; }
// Do things …Run Code Online (Sandbox Code Playgroud) grails ×3
java ×3
c# ×2
inheritance ×2
subclass ×2
android ×1
bluetooth ×1
color-codes ×1
constructor ×1
database ×1
dependencies ×1
enums ×1
groovy ×1
hibernate ×1
jenkins ×1
logging ×1
orm ×1
plugins ×1
refactoring ×1
resources ×1
sbt ×1
security ×1
service ×1
sql ×1