私はこのような注釈を持っています:
@ManyToOne(optional = true, fetch = FetchType.LAZY)
@JoinColumn(name = "ACK_BY", referencedColumnName = "USER_ID", nullable = true)
public User ackBy;
ユーザーの名前でメインテーブルをフィルタリングしたい場合、次のようなSQLクエリを生成します。
from ALARMS alarm0_ cross join USER user1_ where alarm0_.ACK_BY=user1_.USER_ID and (user1_.key not like 'value' or user1_.key is null)
次のように左結合を使用したい休止状態を言う方法:
ALARMS alarm0_ left join USER user1_ on alarm0_.ACK_BY=user1_.USER_ID (user1_.key not like 'value' or user1_.key is null)
UPD:この問題を解決するために HQL を使用することはできません。