[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-5844) SQLServer 2008 and latest Microsoft JDBC jar causes exception

guy bashan (JIRA) noreply at atlassian.com
Tue Jan 18 04:12:05 EST 2011


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-5844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=39672#action_39672 ] 

guy bashan commented on HHH-5844:
---------------------------------

Here is the part of code that generates the exception:
------------------------------------------------------------------
  public List<CampaignBrowse> getNetworkCampaigns(String searchText, String status, Integer publisherId, Integer advertiserId,
                                           Integer agencyId, String sortColumn, String sortDir, int from, int recordsNum) {
    String queryStr = "select c.campaign_id 'campaignId', c.order_id 'orderId', c.campaign_name 'campaignName', c.order_name 'orderName', c.status 'status'," +
        " c.cost_model 'costModel', cast(c.cost as float) 'cost', c.start_date 'startDate', c.end_date 'endDate', c.private_name 'privateName', c.family_name 'familyName', " +
        " c.advertiser_name 'advertiserName', c.update_date 'updateDate', cast(c.fill_rate as float) 'fillRate', c.time_zone 'timeZone', " +
        "c.agency_id 'agencyId', c.advertiser_id 'advertiserId', c.ps 'ps' " + getNetworkCampaignsQuery() +
        " order by " + sortColumn + " " + sortDir;

    SQLQuery sqlQuery = session.createSQLQuery(queryStr);
    Query query = sqlQuery.setParameter("publisherId", publisherId)
        .setInteger("advertiserId", advertiserId)
        .setInteger("agencyId", agencyId)
        .setString("searchText", "%" + searchText + "%")
        .setString("status", status)
        .setFirstResult(from)
        .setMaxResults(recordsNum);

    return query.setResultTransformer(Transformers.aliasToBean(CampaignBrowse.class)).list();

And here is the bean that I use:
----------------------------------------

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.TimeZone;

@Entity
@Table(name = "cmp_browse_data")
public class CampaignBrowse implements Serializable {

  @Id
  @Column(name="campaign_id")
  private Integer campaignId;

  @Column(name="campaign_name")
  private String campaignName;

  @Column(name="order_id")
  private Integer orderId;

  @Column(name="order_name")
  private String orderName;

  @Column(name="status")
  private String status;

  @Column(name="cost_model")
  private String costModel;

  @Column(name="cost")
  private Double cost;

  @Column(name="start_date")
  private Date startDate;

  @Column(name="end_date")
  private Date endDate;

  @Column(name="private_name")
  private String privateName;

  @Column(name="family_name")
  private String familyName;

  @Column(name="advertiser_name")
  private String advertiserName;

  @Column(name="update_date")
  private Date updateDate;

  @Column(name="fill_rate")
  private Double fillRate;

  @Column(name="time_zone")
  private String timeZone;

  @Column(name="agency_id")
  private Integer agencyId;

  @Column(name="advertiser_id")
  private Integer advertiserId;

  @Column(name="ps_")
  private Double ps;

  public Integer getCampaignId() {
    return campaignId;
  }

  public void setCampaignId(Integer campaignId) {
    this.campaignId = campaignId;
  }

  public String getCampaignName() {
    return campaignName;
  }

  public void setCampaignName(String campaignName) {
    this.campaignName = campaignName;
  }

  public Integer getOrderId() {
    return orderId;
  }

  public void setOrderId(Integer orderId) {
    this.orderId = orderId;
  }

  public String getStatus() {
    return status;
  }

  public void setStatus(String status) {
    this.status = status;
  }

  public String getCostModel() {
    return costModel;
  }

  public void setCostModel(String costModel) {
    this.costModel = costModel;
  }

  public Date getStartDate() {
    return startDate;
  }

  public void setStartDate(Date startDate) {
    this.startDate = startDate;
  }

  public Date getEndDate() {
    return endDate;
  }

  public void setEndDate(Date endDate) {
    this.endDate = endDate;
  }

  public String getPrivateName() {
    return privateName;
  }

  public void setPrivateName(String privateName) {
    this.privateName = privateName;
  }

  public String getFamilyName() {
    return familyName;
  }

  public void setFamilyName(String familyName) {
    this.familyName = familyName;
  }

  public String getAdvertiserName() {
    return advertiserName;
  }

  public void setAdvertiserName(String advertiserName) {
    this.advertiserName = advertiserName;
  }

  public Date getUpdateDate() {
    return updateDate;
  }

  public void setUpdateDate(Date updateDate) {
    this.updateDate = updateDate;
  }

  public Double getFillRate() {
    return fillRate;
  }

  public void setFillRate(Double fillRate) {
    this.fillRate = fillRate;
  }

  public String getTimeZone() {
    return timeZone;
  }

  public void setTimeZone(String timeZone) {
    this.timeZone = timeZone;
  }

  public TimeZone getTimeZoneObj()
  {
    return TimeZone.getTimeZone(timeZone);
  }

  public Integer getAgencyId() {
    return agencyId;
  }

  public void setAgencyId(Integer agencyId) {
    this.agencyId = agencyId;
  }

  public Integer getAdvertiserId() {
    return advertiserId;
  }

  public void setAdvertiserId(Integer advertiserId) {
    this.advertiserId = advertiserId;
  }

  public Double getCost() {
    return cost;
  }

  public Double getPs() {
    return ps;
  }

  public void setPs(Double ps) {
    this.ps = ps;
  }

  public Double getPublisherCost()
  {
    return CampaignPerformanceUtil.getPublisherCost(cost, ps);
  }

  public void setCost(Double cost) {
    this.cost = cost;
  }

  public String getOrderName() {
    return orderName;
  }

  public void setOrderName(String orderName) {
    this.orderName = orderName;
  }
}

> SQLServer 2008 and latest Microsoft JDBC jar causes exception
> -------------------------------------------------------------
>
>                 Key: HHH-5844
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5844
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.6.0
>            Reporter: guy bashan
>         Attachments: sqljdbc4.jar
>
>
> I am working with SQL Server 2008.
> I just upgraded to the Microsoft latest JDBC driver: sqljdbc4.jar
> I am getting this exception:
> org.hibernate.MappingException: No Dialect mapping for JDBC type: -9
> 	org.hibernate.dialect.TypeNames.get(TypeNames.java:78)
> 	org.hibernate.dialect.TypeNames.get(TypeNames.java:103)
> 	org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:328)
> 	org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateType(CustomLoader.java:590)
> 	org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscovery(CustomLoader.java:516)
> 	org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:532)
> 	org.hibernate.loader.Loader.getResultSet(Loader.java:1962)
> 	org.hibernate.loader.Loader.doQuery(Loader.java:802)
> 	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
> 	org.hibernate.loader.Loader.doList(Loader.java:2533)
> 	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
> 	org.hibernate.loader.Loader.list(Loader.java:2271)
> 	org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:316)
> 	org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1842)
> 	org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
> 	org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:157)
> 	com.todacell.ui.model.dao.CampaignDAO.getNetworkCampaigns(CampaignDAO.java:86)
> 	com.todacell.ui.view.bean.campaign.CampaignBrowseListBean$Model.getCampaigns(CampaignBrowseListBean.java:141)
> 	com.todacell.ui.view.bean.campaign.CampaignBrowseListBean$Model.fetchPage(CampaignBrowseListBean.java:91)
> 	com.anydoby.jsfpager.PagedListDataModel.fetchPageInternal(PagedListDataModel.java:152)
> 	com.anydoby.jsfpager.PagedListDataModel.getPage(PagedListDataModel.java:100)
> 	com.anydoby.jsfpager.PagedListDataModel.getWrappedData(PagedListDataModel.java:161)
> 	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	java.lang.reflect.Method.invoke(Method.java:597)
> 	javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
> 	javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
> 	org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:140)
> 	org.apache.el.parser.AstValue.getValue(AstValue.java:118)
> 	org.apache.el.parser.AstEmpty.getValue(AstEmpty.java:45)
> 	org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
> 	org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
> 	javax.faces.component._ComponentUtils.getExpressionValue(_ComponentUtils.java:236)
> 	javax.faces.component.UIComponentBase.getExpressionValue(UIComponentBase.java:1176)
> 	javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1251)
> 	org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:276)
> 	org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
> 	org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:78)
> 	javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:611)
> 	javax.faces.component.UIComponent.encodeAll(UIComponent.java:250)
> 	javax.faces.component.UIComponent.encodeAll(UIComponent.java:257)
> 	javax.faces.component.UIComponent.encodeAll(UIComponent.java:257)
> 	javax.faces.component.UIComponent.encodeAll(UIComponent.java:257)
> 	org.apache.myfaces.application.jsp.JspViewHandlerImpl.actuallyRenderView(JspViewHandlerImpl.java:427)
> 	org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:383)
> 	org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
> 	org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
> 	org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
> 	org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
> 	javax.faces.webapp.FacesServlet.service(FacesServlet.java:155)
> 	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
> 	org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
> 	org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
> 	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
> 	org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301)
> 	com.todacell.ui.view.filter.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:105)
> 	com.todacell.ui.view.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:61)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list