Question: I have started learning Wicket framework and I came across wicket models and I read about Model(), CompouneModel() and CompoundPropertyModel() but I didn't get the actual difference between them. I searched on Google for this, but I didn't get any information about this.

This [link](http://www.simplecodestuffs.com/difference-between-compound-model-and-propertymodel-in-wicket/) gives description between CompoundPropertyModel and PropertyModel but still its not clear properly for difference.

Only the thing I could distinguish between Model and other two is model can not work with dynamic fields while other two can.

Can someone please give the difference between these models?

Answer: 
Please check <https://cwiki.apache.org/confluence/display/WICKET/Working+with+Wicket+models>. It gives very good explanations.  

You can also read the official docs at <http://ci.apache.org/projects/wicket/guide/6.x/guide/modelsforms.html>
Very good example. Just need some correction:

According to 

```
IModel idModel = new PropertyModel(data, "id");

```

and

```
private Integer data;

```

I expect that In Data class supposed to be 

```
private Integer id;

```

instead.

And the same mistake in next place

```
 add(new Label("data"));

```

expect 

```
add(new Label("name"));

```

to make everything correct. Thank you for your help.