2013-11-20 89 views
1

我在設置布爾數組時遇到了一些問題。 我在我的模型定義的數組:傳遞陣列

@Entity 
public class Ssr extends Model{ 

    @Id 
    public int num; 
    public boolean[] row1; 

在我看來,文件我創建表

... 

<td>Network</td>   
    @for(a <- 1 to 10){ 
     <td> 
    @checkbox(ssrForm("row1[@a]"),'_label->None) 
    </td> 
    } 

... 

當我試圖通過這個值,下一個畫面,值不保存在SSR對象並且可以看到:

[info] play - database [default] connected at jdbc:h2:mem:play 
[error] c.a.e.s.t.r.ImmutableMetaFactory - Was unable to use reflection to find 
a constructor and appropriate getters forimmutable type class [Z. The errors wh 
ile looking for the getter methods follow: 
[error] c.a.e.s.d.p.DeployCreateProperties - Error with models.Ssr field:row1 
java.lang.RuntimeException: Unable to use reflection to build ImmutableMeta for 
class [Z. Associated Errors trying to find a constructor and getter methods hav 
e been logged 
     at com.avaje.ebeaninternal.server.type.reflect.ImmutableMetaFactory.crea 
teImmutableMeta(ImmutableMetaFactory.java:53) ~[avaje-ebeanorm.jar:na] 
     at com.avaje.ebeaninternal.server.type.DefaultTypeManager.recursiveCreat 
eScalarTypes(DefaultTypeManager.java:205) ~[avaje-ebeanorm.jar:na] 
     at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.cr 
eateProp(DeployCreateProperties.java:321) [avaje-ebeanorm.jar:na] 
     at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.cr 
eateProp(DeployCreateProperties.java:341) [avaje-ebeanorm.jar:na] 
     at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.cr 
eateProperties(DeployCreateProperties.java:128) [avaje-ebeanorm.jar:na] 
     at com.avaje.ebeaninternal.server.deploy.parse.DeployCreateProperties.cr 
eateProperties(DeployCreateProperties.java:54) [avaje-ebeanorm.jar:na] 

我應該使用List而不是數組嗎?

感謝您的幫助。

回答

0

我發現了酵母菌。如果您不需要將數組存儲在數據庫中,只需將「transient」關鍵字添加到變量聲明中即可。

@Entity 
public class Ssr extends Model{ 

    @Id 
    public int num; 
    public transient boolean[] row1;