我最近在Mac OSX上使用java模板在Play Framework中开发了一个Web应用程序。但现在我不得不在Windows上运行相同的应用程序。
在Mac上运行时,一切看起来都很棒且功能齐全。但是在使用Model.Finder
和@ManyToOne
注释加载模型时在Windows上运行时会发生奇怪的行为。
我的模特示例:
models / Ticket.java
@Entity
public class Ticket extends Model {
...
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "id_type", referencedColumnName="id_type")
public TicketType type;
public static Model.Finder<Integer, Ticket> find = new Model.Finder<Integer,Ticket>(Integer.class, Ticket.class);
}
模型/ TicketType.java
@Entity
public class TicketType extends Model {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
public Integer id_type;
...
@OneToMany(mappedBy = "type")
public Ticket ticket;
...
}
因此,这是在Mac OSX上运行时我的数据库中一个寄存器的输出(Json):
{
"id_ticket":10,
"type":{
"id_type":4,
"nm_description":"Ticket Type 1",
"st_active":true,
"vl_price":16.0,
"ticket":null
}
}
在Windows上运行时,Json使用相同的方法生成:
{
"id_ticket":10,
"type":{
"id_type":4,
"nm_description":null,
"st_active":false,
"vl_price":null,
"ticket":null
}
}
只有字段id_type
是正确的。
我已经尝试重新编译项目并更换机器,但到目前为止这些都没有。
感谢任何帮助。提前谢谢。
答案 0 :(得分:1)
我解决了这个问题。出于某种原因,我没有注意到我正在复制target
,project/target
和project/project
文件夹。刚删除这些文件夹并重新编译所有内容。