1対1の関連付け:
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "messageDetails")
public MessageEntry getMessageEntry() {
return messageEntry;
}
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
public MessageDetails getMessageDetails() {
return messageDetails;
}
ステートレス セッションで依存エントリをロードしたい:
MessageDetails messageDetails =
(MessageDetails) sess.createCriteria(MessageDetails.class)
.add(Restrictions.eq("messageEntry", messageEntry))
.uniqueResult();
私は得る
Exception in thread "main" org.hibernate.exception.SQLGrammarException: No value specified for parameter 1
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:122)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
SQLは私が望むものではありません。私は何かを理解していないのでしょうか?
03:21:13,274 DEBUG SQL:104 - /* criteria query */ select this_.id as id11_0_, this_.date as date11_0_, this_.messageId as messageId11_0_, this_.replyTo as replyTo11_0_, this_.subject as subject11_0_ from MessageDetails this_ where this_.id=?
プロパティ messageEntry で MessageDetails を選択したいのですが、それは可能でしょうか? ありがとう。