Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why Ebean returns null for no reason?

Using Play Framework, I have a model like this :

class MyModel extends Model {
    // Some columns

    @ManyToOne
    public OtherModel other;

    public OtherModel getOther() {
        return other;
    }
}

For a reason I can't understand, if I call myModel.other OR myModel.getOther() (myModel being an instance of MyModel), I got a Null value, even if it should return an instance of OtherModel !

Moreover, if I change the getOther() methods to this :

public OtherModel getOther() {
    console.log (String.valueOf(other));
    return other;
}

getOther() returns the expected instance of OtherModel

Why do I get this, and how to fix this odd behavior?

like image 371
Cyril N. Avatar asked Oct 22 '12 12:10

Cyril N.


1 Answers

I had a similar problem (but I did not need the console.log statement).

All I did was just replacing public fields by private ones, and using public getters & setters. I think it was a Playframework bug, but I don't find where I saw that.

like image 197
ndeverge Avatar answered Oct 12 '22 09:10

ndeverge