sql >> データベース >  >> RDS >> Mysql

JPAネイティブクエリを使用して同じ名前の複数の列を選択するにはどうすればよいですか?

    エンティティBeanのスカラー列マッピング:

    @SqlResultSetMapping(
          name="DescricaoColumnAlias",
          columns={@ColumnResult(name="B_DESCRICAO"),
                   @ColumnResult(name="CA_DESCRICAO"),
                   @ColumnResult(name="PRD_DESCRICAO")}
    )
    

    列マッピングで指定されているように、ネイティブクエリの列にエイリアスを使用するようになりました。

    "p.id、p.datapedido、b.descricaoをB_DESCRICAO、prd.descricaoをPRD_DESCRICAO、s.nome、usuario.email、cc.chave_cupom、prd.nome、ca.descricaoをCA_DESCRICAO、i.produto_id、iとして選択します。 valoritem、hc.valor_utilizado、tp.datapagamento ... "

    resultSetMapping&queryを指定してネイティブクエリを作成します。

    entityManager.createNativeQuery(queryString, "DescricaoColumnAlias");
    


    1. utf8_binとutf_unicode_ci

    2. 正規表現またはLIKEパターンのエスケープ関数

    3. INTと比較したBIGINTmysqlのパフォーマンス

    4. SQL:UNIONを使用して、特定の選択で並べ替える方法は?