小编Xiè*_*léi的帖子

建议的Java注释顺序?

对于大量使用Java注释的项目,是否对注释顺序有任何建议?从而统一团队中的代码风格.

java annotations code-formatting

15
推荐指数
1
解决办法
4358
查看次数

Hibernate:具有多对多连接表的标准?

考虑以下两种关系:

@Entity class Foo {
    @Id id;

    @ManyToMany
    @JoinTable(name = "ATag", 
         joinColumns = @JoinColumn(name = "foo_id"),
         inverseJoinColumns = @JoinColumn(name = "tag_id"))
    Set<Tag> tags;
}

@Entity class Tag {
    @Id Long id;
    String name;
}
Run Code Online (Sandbox Code Playgroud)

连接表ATag没有对应的实体类.现在,我想要使用名为'tag1'的Tag获取所有Foo实例,是否可以仅使用Criteria?

子查询可能有用,但是,我不能为不存在的类ATag.class创建DetachedCriteria.

hibernate criteria

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

如何在Linux中获得键盘状态?

我想在程序启动时检查用户是否按下了SHIFT键.(这意味着,在程序启动之前按下SHIFT键)这是一个简单的控制台程序,与X无关.

这可能类似于Win32 GetKeyboardState()功能.

我想知道我是否可以这样做,以及如何直接访问终端,但没有任何利弊.

c linux keyboard console

12
推荐指数
4
解决办法
1万
查看次数

JPA:我应该使用哪个?基本(可选)或列(可空)?

对于简单的字符串字段

@Entity
class Foo {

    //1. @Basic(optional = false)
    //2. @Column(length = 100, nullable = false)
    String name;
}
Run Code Online (Sandbox Code Playgroud)

我需要使用@Column注释来限制名称的长度,但我对可以为空的属性感到困惑.虽然我正在使用其他注释@ManyToOne和@OneToMany那些使用optional属性,但我想@Basic(optional)用来保持大多数注释均匀.但我不能限制名称的长度@Basic.

那么,我应该在哪里注释可空属性,@Basic或者@Column?

编辑

简单地说,您更喜欢哪种形式:

表格1:

@Entity
class Foo {
    @Basic(optional = false)
    @Column(length = 100)
    String name;
}
Run Code Online (Sandbox Code Playgroud)

表格2:

@Entity
class Foo {
    @Column(length = 100, nullable = false)
    String name;
}
Run Code Online (Sandbox Code Playgroud)

我个人喜欢Form 1,因为optional属性也被其他@ManyToOne注释使用,但是Form 2也很好,因为它是在单个注释中完成的.

编辑

阅读http://markmail.org/message/osod6rsauwbnkvya后,我@Basic.optional和之间有区别 …

java orm hibernate

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

Java Facelets中<h:head>和<head>之间有什么区别?

看到这个.

何时以及为何使用<h:head>,而不是<head>?

不过,我已经看过Primefaces无法使用<head>.

jsf facelets variant

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

压缩或重新编号所有表的ID,并将序列重置为max(id)?

运行了很长时间后,我在id字段中得到越来越多的漏洞.一些表的id是int32,id序列达到了它的最大值.一些Java源代码是只读的,因此我不能简单地将id列类型更改为int32to long,这会破坏API.

我想重新编号.这可能不是一个好的做法,但好或坏并不关心这个问题.我想重新编号,特别是那些很长的ID,如"61789238","548273826529524324".我不知道它们为什么这么长,但更短的ID也更容易手动处理.

但由于引用和约束,手动压缩ID并不容易.

PostgreSQL本身是否支持ID重新编号?或者是否有任何插件或维护工具?

也许我可以写一些存储过程?那将是非常好的,所以我可以每年安排一次.

postgresql identity auto-increment compact-database

10
推荐指数
2
解决办法
4178
查看次数

Chrome在try/catch块中暂停,如何自动恢复?

我正在使用PrimeFaces(3.2),但问题与我认为的Chrome有关.

除非我打开Chrome调试窗口,否则一切正常.即,如果我关闭调试窗口,没有发生错误,根本没有异常(见下文,异常是try/catch-ed).

但是,如果我打开Chrome调试窗口并对网页执行某些操作,则调试程序会在以下位置暂停:

if ( !Sizzle.isXML( node ) ) {
    try { 
        if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
            var ret = matches.call( node, expr ); <----- Paused here.

            // IE 9's matchesSelector returns false on disconnected nodes
            if ( ret || !disconnectedMatch ||
                    // As well, disconnected nodes are said to be in a document
                    // fragment in IE 9, so check for that
                    node.document && node.document.nodeType !== 11 ) {
                return ret; …
Run Code Online (Sandbox Code Playgroud)

debugging jquery google-chrome

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

如何在标准序列化中序列化非序列化基类?

我无法控制基类的源代码,那么,如何在子类上使用标准序列化?

在此示例中,字段a根本没有序列化,但B是可序列化的:

// a.jar

class A {
    int a;
}
Run Code Online (Sandbox Code Playgroud)

// b.jar

class B
        extends A
        implements Serializable {
    int b;
}

public class HelloWorldApp {

    public static void main(String[] args)
            throws Exception {
        B b = new B();
        b.a = 10;
        b.b = 20;

        ByteArrayOutputStream buf = new ByteArrayOutputStream();

        ObjectOutputStream out = new ObjectOutputStream(buf);
        out.writeObject(b);
        out.close();

        byte[] bytes = buf.toByteArray();
        ByteArrayInputStream _in = new ByteArrayInputStream(bytes);
        ObjectInputStream in = new ObjectInputStream(_in);
        B x = (B) in.readObject();
        System.out.println(x.a);
        System.out.println(x.b); …
Run Code Online (Sandbox Code Playgroud)

java serialization

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

Maven:如果它们已经是可传递的,如何删除依赖项?

例如,如果存在依赖关系:

a -> b
a -> c
b -> c
Run Code Online (Sandbox Code Playgroud)

我想删除依赖项a -> c,因为有a -> b -> c.

我知道可能存在一些不应该减少的强依赖性,但它与这个问题无关.

例:

In a.pom: 
<dependencies>
    <dependency>b</dependency>
    <dependency>c</dependency>
</dependencies>

In b.pom:
<dependencies>
    <dependency>c</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

预期结果:

In a.pom: 
<dependencies>
    <dependency>b</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

dependencies maven-2 dependency-management

7
推荐指数
2
解决办法
7436
查看次数

Maven/Eclipse:资源的默认构建路径排除了所有内容

我正在使用M2E与eclipse集成maven.我的单元测试资源/目录中的引用属性文件.好吧,命令行test(mvn test)中的一切都很好.但是,在Eclipse中,找不到资源.

检查Java Build Path,在那里标记所有资源条目Excluded: **.(我认为它应该只排除.java / .class文件)然后,在删除排除模式后,修复了问题.

我不确定是否应该Excluded **手动删除所有,或者我可能没有正确使用M2E.

PS项目是由进口的Existing Maven Projects.

eclipse maven-2 maven-eclipse-plugin

7
推荐指数
1
解决办法
3361
查看次数