小编Ste*_*Kuo的帖子

JPA Hibernate一对一的关系

我有一对一的关系,但hibernatetool在生成模式时抱怨.这是一个显示问题的示例:

@Entity
public class Person {
    @Id
    public int id;

    @OneToOne
    public OtherInfo otherInfo;

    rest of attributes ...
}
Run Code Online (Sandbox Code Playgroud)

Person与OtherInfo有一对一的关系:

@Entity
public class OtherInfo {
    @Id
    @OneToOne(mappedBy="otherInfo")
    public Person person;

    rest of attributes ...
}
Run Code Online (Sandbox Code Playgroud)

人拥有OtherInfo的一面.OtherInfo是拥有的一方,因此人们用来mappedBy在Person中指定属性名称"otherInfo".

使用hibernatetool生成数据库模式时出现以下错误:

org.hibernate.MappingException: Could not determine type for: Person, at table: OtherInfo, for columns: [org.hibernate.mapping.Column(person)]
        at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:292)
        at org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:175)
        at org.hibernate.cfg.Configuration.iterateGenerators(Configuration.java:743)
        at org.hibernate.cfg.Configuration.generateDropSchemaScript(Configuration.java:854)
        at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:128)
        ...
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?我做错了什么或者这是一个Hibernate错误?

java hibernate jpa

62
推荐指数
3
解决办法
11万
查看次数

Eclipse导航到下一个/上一个标记的事件

Eclipse具有Mark Occurrences功能,它突出显示所选择的变量/方法的所有实例.有没有办法导航到下一个或上一个标记的事件?

eclipse

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

Joda-Time DateTimeFormatter类线程安全吗?

乔达时间 DateTimeFormatter线程安全的?一旦我从中获取实例DateTimeFormat.forPattern,它的各种解析方法可以被多个线程调用吗?DateTimeFormatter的Javadocs没有提到线程安全性.

java date-format thread-safety jodatime

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

Clojure不是零检查

在Clojure nil?检查为零.如何检查不是零?

我想做Clojure相当于以下Java代码:

if (value1==null && value2!=null) {
}
Run Code Online (Sandbox Code Playgroud)

后续行动:我希望不用零检查,而不是用它包裹not.if有一个if-not对应物.是否有这样的对应物nil?

clojure

53
推荐指数
6
解决办法
4万
查看次数

LinkedBlockingQueue的insert和remove方法是否安全?

LinkedBlockingQueue在两个不同的线程之间使用.一个线程通过添加数据add,而另一个线程通过take.

我的问题是,我是否需要同步访问addtake.是LinkedBlockingQueue的插入和删除方法是线程安全的?

java concurrency multithreading synchronization

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

IntelliJ导航到下一个和上一个突出显示的变量

在IntelliJ 10.5中,我启用了"突出显示插入元素的用法".当选择变量/ method/etc时,有没有办法移动到下一个和上一个出现的?我在Eclipse中寻找相当于Control-K的东西.

编辑:在突出显示的用法之间导航的快捷方式只是移动到下一个文本出现,这与移动到下一次出现的变量/ method/etc不同.如果我foo选择了变量,我想导航到下一个出现的foo而不是任何名为"foo"的文本(包括注释中的"foo",方法名称等).

此外,紧迫F3似乎是错误的.当我按下时F3,它有时使用先前搜索的文本而不是当前突出显示的文本进行搜索.

intellij-idea

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

如何在JavaDocs中引用"*/"

我需要*/在我的JavaDoc评论中包含这些内容.问题是这也是关闭评论的顺序.引用/逃避这个的正确方法是什么?

例:

/**
 * Returns true if the specified string contains "*/".
 */
public boolean containsSpecialSequence(String str)
Run Code Online (Sandbox Code Playgroud)

跟进:似乎我可以使用&#47;斜线.唯一的缺点是,在文本编辑器中直接查看代码时,这并非完全可读.

/**
 * Returns true if the specified string contains "*&#47;".
 */
Run Code Online (Sandbox Code Playgroud)

java comments javadoc

46
推荐指数
6
解决办法
8638
查看次数

JAXB继承,unmarshal到marshaled类的子类

我正在使用JAXB来读写XML.我想要的是使用基本JAXB类进行编组,并使用继承的JAXB类进行解组.这是为了允许发送方Java应用程序将XML发送到另一个接收方Java应用程序.发送方和接收方将共享一个通用的JAXB库.我希望接收器将XML解组为特定于接收器的JAXB类,该类扩展了通用JAXB类.

例:

这是发件人使用的常见JAXB类.

@XmlRootElement(name="person")
public class Person {
    public String name;
    public int age;
}
Run Code Online (Sandbox Code Playgroud)

这是解组XML时使用的特定于接收器的JAXB类.接收器类具有特定于接收器应用的逻辑.

@XmlRootElement(name="person")
public class ReceiverPerson extends Person {
    public doReceiverSpecificStuff() ...
}
Run Code Online (Sandbox Code Playgroud)

编组按预期工作.问题在于解组,Person尽管JAXBContext使用了子类的包名,它仍然是解组的ReceiverPerson.

JAXBContext jaxbContext = JAXBContext.newInstance(package name of ReceiverPerson);
Run Code Online (Sandbox Code Playgroud)

我想要的是解散ReceiverPerson.我已经能够做到这一点的唯一方法是删除@XmlRootElementPerson.不幸的是,这样做可以防止Person被编组.这就好像JAXB从基类开始并向下运行,直到找到@XmlRootElement具有相应名称的第一个.我试着加入createPerson()该方法返回ReceiverPersonObjectFactory但这并不能帮助.

java xml jaxb

42
推荐指数
4
解决办法
6万
查看次数

从JPA带注释的实体类自动生成数据模式

我正在使用JPA(Hibernate的实现)来注释实体类以持久化到关系数据库(MySQL或SQL Server).是否有一种简单的方法可以从带注释的类中自动生成数据库模式(表创建脚本)?

我仍处于原型设计阶段,预计会频繁更改架构.我希望能够从带注释的代码中指定和更改数据模型.Grails类似于它从域类生成数据库.

java database hibernate jpa java-ee

41
推荐指数
5
解决办法
8万
查看次数

Grails域类,字符串字段TEXT和LONGTEXT

在Grails域类中,如何为String字段设置约束,使其MySQL列类型为TEXT或LONGTEXT?

到目前为止,我最好的方法是设置约束的大小:

myTextField(size:0..65535)
Run Code Online (Sandbox Code Playgroud)

这导致TEXT

myTextField(size:0..2147483646)
Run Code Online (Sandbox Code Playgroud)

结果在LONGTEXT(2147483646 = 2 ^ 32/2 - 1 - 1)

是否有更清洁的方式来指定大小?基本上我想要全系列的TEXT或LONGTEXT,而不必硬编码一堆大小的值.

grails

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