首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate 3,addScalar(),UserType [Types.BIGINT,Types.VARCHAR] 2列

Hibernate 3,addScalar(),UserType [Types.BIGINT,Types.VARCHAR] 2列
EN

Stack Overflow用户
提问于 2017-10-02 09:32:37
回答 2查看 363关注 0票数 1

我有一个CreditCard域:

代码语言:javascript
复制
class CreditCard {

Long Id 
Price value 
...

static mapping = {
        value type: PriceType,{
            column name: "VALUE_AMOUNT"
            column name: "VALUE_CURRENCY"
        } 
}

我想要创建一个报告,所以我创建了我的自定义类型:

代码语言:javascript
复制
Type priceTypeLocator = new TypeLocatorImpl(new TypeResolver()).custom(PriceType)

而问题是:

代码语言:javascript
复制
def result = getSession().createSQLQuery("select ID, VALUE_AMOUNT, VALUE_CURRENCY from CreditCard")
.addScalar("ID", StandardBasicTypes.LONG)
.addScalar("VALUE_AMOUNT",priceTypeLocator) //this wont work
.addScalar("VALUE_CURRENCY",priceTypeLocator) //this wont work
.setResultTransformer(Transformers.aliasToBean(CreditCard.class))
.list();

如何将这两个值(VALUE_AMOUNT和VALUE_CURRENCY)与CreditCard域中的值字段绑定?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-22 14:57:52

最后,我使用标准类型和setter进行了解析:

代码语言:javascript
复制
 .addScalar('requestedAmountAmo', StandardBasicTypes.BIG_DECIMAL)
 .addScalar('requestedAmountCur', StandardBasicTypes.STRING)

然后我设定了价格:

代码语言:javascript
复制
 void setRequestedAmountAmo(BigDecimal requestedAmountAmo) {
    requestedAmount = new Price(amount:requestedAmountAmo, currency: '')
}

void setRequestedAmountCur(String requestedAmountCur) {
    requestedAmount.currency = requestedAmountCur
}
票数 1
EN

Stack Overflow用户

发布于 2017-10-02 10:08:18

您可以使用此方法:

代码语言:javascript
复制
public static Type getPropertyType(Session session, Class entityClass, String propertyName) {
    return session.getSessionFactory().getClassMetadata(entityClass).getPropertyType(propertyName);
}

并以这种方式使用:

代码语言:javascript
复制
.addScalar("VALUE_AMOUNT", getPropertyType(session, CreditCard.class, "value_amount_poperty_name"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46522955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档