[ハマリネタ]Entityクラスの中でJava 8 lambda式を使用すると、Entityクラスが読み込まれない
背景
Entityクラスの中でlambda式を使用していました。
例えばこんな風に。
**
myCollection.stream().forEach(i -> i.setDate(now));
そうすると、そのEntityクラスは読み込まれず、リレーションシップなどで使用していると、次のようなエラーが出ます。
[class com.example.Hoge] uses a non-entity [class com.example.fuga] as target entity in the relationship attribute [field hoge]
環境
- Glassfish 4
- Java 8
原因
Eclipselinkのバグでしたー。
Bug 429992 - EclipseLink silently ignores Entity classes with lambda expressions
回避策
lambda式を使うのをやめましょー。