0

私が持っている:(MySQL 5.1)

CREATE TABLE `poh_faktury` (
  `cislo` int(10) unsigned NOT NULL PRIMARY KEY,
... 
) ENGINE=MyISAM DEFAULT CHARSET=utf8$$

@Entity
@Table(name="poh_faktury")
@NamedQueries({
  @NamedQuery(name="dalsiCisloFaktury", query="SELECT MAX(fakt.cislo) + 1 FROM Faktura AS fakt")
})

生成されたクエリ(はい、2つ)は次のとおりです。

select MAX(faktura0_.cislo)+1 as col_0_0_ from poh_faktury faktura0_
select MAX(faktura0_.cislo)+1 as col_0_0_ from poh_faktury faktura0_ limit 2

でも、これ

    Integer res = ((Integer) this.getJpaTemplate().execute( new JpaCallback() {
        public Object doInJpa( EntityManager em ) throws PersistenceException {
            Query q = em.createNamedQuery( "dalsiCisloFaktury" );
            return q.getSingleResult();
        }
    }));

に入れnullますres

SQLを呼び出すと、次のように1000が返されます。

SELECT MAX(fakt.cislo) + 1 FROM poh_faktury AS fakt;

Hibernateが正しいスカラー値を返すようにするにはどうすればよいですか?

4

0 に答える 0