|
Hi,
If I have an Item.java class that has a complex
object
, MonetaryAmount.java as its field. Now for security reason, fields of MonetaryAmount class has private final fields and getter methods only, setter methods are empty. Now you can see I have problem using
TypeHandlerCallback
to return MonetaryAmount's private final field as setter method for Currency needs to be empty E.g.
public class Item {
private Monetary
initialPrice;
// setter and getter for initialPrice .... }
and
public class MonetaryAmount implements Serializable
{
private final BigDecimal
value;
private final Currency currency; public MonetaryAmount(BigDecimal value,
Currency currency) {
this.value = value; this.currency = currency; } public Currency getCurrency()
{
return currency; } public BigDecimal getValue()
{
return value; } .........
public void setCurrency(Currency currency)
{
}
public void setValue(BigDecimal value)
{
}
}
so mapping file will look like
<typeAlias alias="item"
type="org.auctionfuse.model.Item"/>
<resultMap id="itemResult"
class="item">
<result property="id" column="item_id"/> .. <!-- initialPrice is MonetaryAmount field --> <result property="initialPrice.value" column="initial_price"/> <result property="initialPrice.currency" column="currency" typeHandler= "org.auctionfuse.ibatis.typehandler.CurrencyTypeHandler" /> ... </resultMap> where CurrencyTypeHandler implements
TypeHandlerCallback and tries to converts
string retrieved from database to Currency object but the problem is setter methods of
MonetaryAmount.java simply does nothing
I was wandering if anyone has elegant solution in
iBatis.
Thanks,
Sam
|
- TypeHandlerCallback problem Dodo
- Re: TypeHandlerCallback problem Dodo
- Probs connecting Pradheep
- Re: Probs connecting Miren Urkijo
- Re: Probs connecting Pradheep
- Re: Probs connecting Brandon Goodin
- Re: Probs connecting Pradheep
- Re: Probs connecting Larry Meadors
- Re: Probs connecting Pradheep
