Java 如何使用setString()hibernate设置列名
当我使用这个代码时,我得到了一个错误的结果(我知道我失败的地方)。是否有任何方法可以使用Java 如何使用setString()hibernate设置列名,java,sql,hibernate,Java,Sql,Hibernate,当我使用这个代码时,我得到了一个错误的结果(我知道我失败的地方)。是否有任何方法可以使用getNamedQuery()和setString()设置COLUMN\u NAME 您是否尝试过setParameter方法 this.sessionFactory.getCurrentSession().getNamedQuery("sql") .setString("COLUMN_NAME", "id"); 此外您必须添加以获得特定列。像 this.sessionFac
getNamedQuery()
和setString()
设置COLUMN\u NAME
您是否尝试过setParameter
方法
this.sessionFactory.getCurrentSession().getNamedQuery("sql")
.setString("COLUMN_NAME", "id");
此外您必须添加
以获得特定列。像
this.sessionFactory.getCurrentSession().getNamedQuery("sql")
.setParameter("COLUMN_NAME", "id");
从表中选择:列名称。
或者,如果您已经为该表创建了
bean
类,则可以使用setResultTransformer
方法。不,它不起作用。从表中选择“COLUMN\u NAME”这样的字符串,它会返回COLUMN\u NAME word。所以您想动态更改列的名称,为什么?因为表中有col1 col2 col3这样的列。。。col100。我只想使用3列,但这3列可以是col5 col10 col30或col7 col8 col9或任何其他选项,因此我想动态更改sql列名并调用sql,如“从表中选择col1、col5、col99”“得到错误结果”
出错的地方请发布错误。返回org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions错误:列名无效,但列名为true您必须在.hbm
文件中映射表列,或在阅读其他注释后通过注释映射表列。我只想使用3列,但这3…
我有一个问题,这些列的数据类型是相同的,还是会像有时是Integer
timeDate
或其他什么一样发生变化。
this.sessionFactory.getCurrentSession().getNamedQuery("sql")
.setParameter("COLUMN_NAME", "id");
<sql-query name="sql">
<return-scalar column="COLUMN_NAME" type="java.lang.String" />
select :COLUMN_NAME from table.
</sql-query>