Tapestryでtynamoモデルモジュール(org.tynamo:tapestry-model-web:0.3.1:jar)が発生していますが、処理できない問題が発生しています。
クライアントとコントラクトの2つのエンティティがあります。明らかに、クライアントには多くの契約があります:
契約
@Entity
@BeanModels({ @BeanModel(reorder = "id") })
public class Contract {
[...]
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="contract_id")
public Long getId() {
return id;
}
/**
* @return the client
*/
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "client_id", nullable = true)
public Client getClient() {
return client;
}
クライアント
@Entity
@BeanModels({ @BeanModel(reorder = "id") })
public class Client{
[...]
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "client_id")
public Long getId() {
return id;
}
/**
* @return the contracts
*/
@OneToMany(cascade = { CascadeType.ALL })
public List<Contract> getContracts() {
return contracts;
}
契約を除外すれば、新しいクライアントを作成しようとしても問題ありません。
@BeanModels({ @BeanModel(exclude = "contrats") })
しかし、契約を除外せずに1つ追加しようとすると、次の例外が発生します。
ERROR] pages.Add Render queue error in SetupRender[tynamo/PropertyEditBlocks:palette_set]: Failure reading parameter 'selected' of component tynamo/PropertyEditBlocks:palette_set: org.apache.tapestry5.ioc.internal.util.TapestryException
org.apache.tapestry5.ioc.internal.util.TapestryException: Failure reading parameter 'selected' of component tynamo/PropertyEditBlocks:palette_set: org.apache.tapestry5.ioc.internal.util.TapestryException [at classpath:org/tynamo/pages/PropertyEditBlocks.tml, line 39]
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:153)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.render(ComponentPageElementImpl.java:181)
at org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
at org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:124)
at $PageRenderQueue_419b37801cb0d.render(Unknown Source)
at $PageRenderQueue_419b37801cb0c.render(Unknown Source)
パレットコンポーネントの私の理解から、それは存在するはずのデフォルトの選択された値が...ではないことを意味します!デフォルト値がないので正確なことは何ですか!
クライアントをデータベース(MySQL)に直接追加し、このフィールドをエンティティから除外しない場合、問題なく表示および編集できますが、新しいクライアントの追加には問題があります。
私は何を逃しましたか?