В игре!Framework 1.5.1, почему я получаю нулевое значение для thingy.Owner?Разве автоматическая привязка не должна позаботиться об этом?
Класс пользователя
package models;
@Entity
@Table(name="objtest_user")
public class User extends Model
{
@Required
public String username;
@Password
@Required
public String password;
public String fullname;
public User(String username, String password, String fullname)
{
this.username = username;
this.password = password;
this.fullname = fullname;
}
@Override
public String toString()
{
return this.fullname;
}
}
и этот класс Thingy, который ссылается на класс пользователя
package models;
import java.util.*;
import javax.persistence.*;
import play.db.jpa.*;
import play.data.validation.*;
@Entity
public class Thingy extends Model
{
@Required
public String Name;
@ManyToOne
public User Owner;
public Thingy(String name, User owner)
{
this.Name = name;
this.Owner = owner;
}
@Override
public String toString()
{
return Name;
}
}
и эту форму шаблона.
#{extends 'main.html' /}
#{set title:'Home' /}
<p>Current user = ${currentUser}</p>
#{form @saveThingy(), id:'saveThingy'}
<input type="text" id="thingy.Name" name="thingy.Name"/>
<input type="hidden" id="thingy.Owner" name="thingy.Owner" value="${currentUser}"/>
<input type="submit" id="Save" value="Save"/>
#{/form}
Метод контроллера
public static void saveThingy(Thingy thingy)
{
System.out.println("Name = " + thingy.Name);
System.out.println("Owner = " + thingy.Owner);
thingy.save();
}