• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HQLについて分らない)

HQLでEntityの型について詳しく知りたい

このQ&Aのポイント
  • HQLにおけるEntityの型について調べました。
  • Entityにおいて、intとIntegerの違いについて混乱しています。
  • HQLを使う際に、Entityのフィールドの型に注意が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

> というように書くことが出きるのでしょうか? できるかどうかはやってみればわかると思うけど。 それよりも setIntegerなら 引数はIntegerよ。 setIntなら 引数はintでいいけど。 何はともあれこんな感じで。 q.setParameter("no", no, Hibernate.INTEGER);

reiman
質問者

お礼

ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ArrayListの中身?

    import java.io.Serializable; public class Master implements Serializable{  private String CODE = null; //番号  private String NAME = null; //名前  public String getCODE() {  return CODE;  }  public void setCODE(String code) {  CODE = code;  }  public String getNAME() {  return NAME;  }  public void setNAME(String name) {  NAME = name;  } } というクラス?があって、 別の場所で List ls = new ArrayList(); Master mst = new Master(); mst.setCODE("00001"); mst.setNAME("テストさん"); ls.add(mst); というふうに、リストにクラスごと追加したとします。 こんなとき、逆に、lsの中身を表示するにはどうしたらいいのでしょう?? ls----Master[0] ----CODE         -----NAME  ----Master[1] ----CODE         -----NAME ・ ・  ----Master[n] ----CODE         -----NAME という風に、格納されているイメージなんですが・・。 どうして、クラスごと、リストに追加したの?っていうのは聞かないでください。 わかる方、教えてください!

    • ベストアンサー
    • Java
  • インナークラスを含むオブジェクトのXMLEncoding

    インナークラスを含むオブジェクトをXMLエンコーダで直列化しようとすると、 デフォルトコンストラクタが無いといった内容の例外が発生して失敗します。 そのインナークラスをトップレベルにリファクタリングすると、それは全く問題なく 動作することを確認しています。 インナークラスを含めたままXMLエンコーダで直列化するには、特別な方法が 必要なのでしょうか?仕様上不可能? これらに関する情報が全く見つからなくて困っています。 ご存知の方がおられましたら、よろしくお願いします。 import java.beans.XMLEncoder; import java.io.BufferedOutputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; public class EncodingSample { public class InnerClass { public int getIntValue() { return intValue; } public void setIntValue(int intValue) { this.intValue = intValue; } public String getStringValue() { return stringValue; } public void setStringValue(String stringValue) { this.stringValue = stringValue; } public InnerClass() { } public InnerClass( int intValue, String stringValue ) { setIntValue( intValue ); setStringValue( stringValue ); } private int intValue; private String stringValue; } public void setData( int intValue, String stringValue ) { innerClass = new InnerClass( intValue, stringValue ); } public void encode( String file ) throws FileNotFoundException { XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(file))); encoder.writeObject(this); encoder.close(); } public InnerClass getInnerClass() { return innerClass; } public void setInnerClass(InnerClass innerClass) { this.innerClass = innerClass; } public static void main(String[] args) { EncodingSample sample = new EncodingSample(); sample.setData( 12, "TextString" ); try { sample.encode("SampleFile.xml"); } catch (FileNotFoundException e) { e.printStackTrace(); } } public EncodingSample() { } private InnerClass innerClass; }

  • JAVAのComparableについて・・・

    compareto()を使って名前、身長、体重を「身長昇順」拡張for文でだしたいのですが・・・ (1)returnを使って何を返せばいいのか? (2)System.out.println()でなにをすればいいのか? (3)他の文で間違っているのか? この3点が分かりません。JAVAに詳しい方よろしくお願いします。。。 package class; public class NewClass { public static void main(String[] args) { NewClass2 A = new NewClass2("aaa", 160, 40); NewClass2 B = new NewClass2("bbb", 170, 60); NewClass2 C = new NewClass2("ccc", 150, 70); System.out.println("---Comparable---"); Set<Comparable> ts3 = new TreeSet<Comparable>(); ts3.add(A); ts3.add(B); ts3.add(C); for(Comparable cm : ts3) { System.out.println(?????????????); } package class; public class NewClass2 implements Comparable< NewClass2> { private String name; private int Weight; private int Height; public String getName() { return this.name; } public void setName(String name) { this.name = name; } public int getWeight() { return this.Weight; } public void setWeight(int Weight) { this.Weight = Weight; } public int getHeight() { return this.Height; } public void setHeight(int Height) { this.Height = Height; } public StudentBean(String name, int Height, int Weight) { this.name = name; this.Weight = Weight; this.Height = Height; } @Override public int compareTo(Object arg0) { StudentBean sb = (StudentBean)arg0;     String name1 = this.name; int Height1 = this.Height; int Weight1 = this.Weight;     int returnval = 0; if(Height1 > sb.getHeight()) { returnval = 1; } else if(Height1 < sb.getHeight()) { returnval = -1; } else returnval = 0; } return ???????; } 文は以上です 出力は aaa 160 40 ・ ・ ・ なかんじでお願いします。

  • JAVAのComparableについて・・・

    compareto()を使って名前、身長、体重を「身長昇順」拡張for文でだしたいのですが・・・ (1)returnを使って何を返せばいいのか? (2)System.out.println()でなにをすればいいのか? (3)他の文で間違っているのか? この3点が分かりません。JAVAに詳しい方よろしくお願いします。。。 package class; public class NewClass { public static void main(String[] args) { NewClass2 A = new NewClass2("aaa", 160, 40); NewClass2 B = new NewClass2("bbb", 170, 60); NewClass2 C = new NewClass2("ccc", 150, 70); System.out.println("---Comparable---"); Set<Comparable> ts3 = new TreeSet<Comparable>(); ts3.add(A); ts3.add(B); ts3.add(C); for(Comparable cm : ts3) { System.out.println(?????????????); } package class; public class NewClass2 implements Comparable< NewClass2> { private String name; private int Weight; private int Height; public String getName() { return this.name; } public void setName(String name) { this.name = name; } public int getWeight() { return this.Weight; } public void setWeight(int Weight) { this.Weight = Weight; } public int getHeight() { return this.Height; } public void setHeight(int Height) { this.Height = Height; } public StudentBean(String name, int Height, int Weight) { this.name = name; this.Weight = Weight; this.Height = Height; } @Override public int compareTo(Object arg0) { StudentBean sb = (StudentBean)arg0;     String name1 = this.name; int Height1 = this.Height; int Weight1 = this.Weight;     int returnval = 0; if(Height1 > sb.getHeight()) { returnval = 1; } else if(Height1 < sb.getHeight()) { returnval = -1; } else returnval = 0; } return ???????; } 文は以上です 出力は aaa 160 40 ・ ・ ・ なかんじでお願いします。

  • スレッドセーフ?スレッドアンセーフ?

    Struts2にてスレッドセーフを勉強しており 以下のコードがスレッドセーフなのか、それともスレッドアンセーフなのかご意見を頂きたいと思います。 個人的な意見ですが、インスタンス変数を利用しているためスレッドアンセーフになるのではないかと思いますが間違いございませんでしょうか。 //以下 Struts2 public class InsertProgram extends ActionSupport implements ServletRequestAware{ private Test test = new Test(); private String id; private String name; public class execute(){ id     = request.getParameter("id"); name = request.getParameter("name");        //以下がご意見を頂きたい箇所です。 test.setId(id); test.setName(name); test.insert(); return SUCCESS; } } public class Test{ private String id; private String name; public String getId() { return id; } public String getName() { return name; } public void setId(String id) { this.id = id; } public void setName(String name) { this.name = name; } public class insert() { //割愛致します。 データベースにid 及び name をinsert します。 sql = "Insert into test_db(id , name) ・・・" } }

    • ベストアンサー
    • Java
  • 続き webアプリをつくってます。変数がなぜか渡りません。

    続き webアプリをつくってます。変数がなぜか渡りません。 見回ったのですが原因がわかりませんでした。 間違った箇所はどこですか。 package info.searchman; import java.io.*; import java.sql.*; //import java.util.*; public class ShinzinInfoTorokuBeans implements Serializable { /** * */ private static final long serialVersionUID = 1L; private String Id; private String name; private String old; private String taiju; private String shintyo; private String other; //Constructor public ShinzinInfoTorokuBeans() { System.out.println("sitb constructor"); } // Setter Methods public void setId(String Id) { this.Id = Id; } public void setName(String name) { this.name = name; } public void setOld(String old) { this.old = old; } public void setTaiju(String taiju) { this.taiju = taiju; } public void setShintyo(String shintyo) { this.shintyo = shintyo; } public void setOther(String other) { this.other = other; } // Getting Methods public String getId() { return this.Id; } public String getName() { return this.name; } public String getOld() { return this.old; } public String getTaiju() { return this.taiju; } public String getShintyo() { return this.shintyo; } public String getOther() { return this.other; } //execute insert public void insert() { try { System.out.println("++++" +Id); System.out.println("tib7 insert"); //JDBC Driver Class.forName("org.postgresql.Driver"); Connection con = DriverManager.getConnection("jdbc:postgresql:postgres","postgres","gokui"); Statement stmt = con.createStatement(); String table = "testweb"; String values = "(\'"+Id+"\', \'"+name+"\', \'" +old+"\', \'"+taiju+"\', \'"+shintyo+"\', \'"+other+"\')"; //System.out.println("Id"+"name"+"old"+"taiju"+"shintyo+other"); String insertsql = "insert into "+table+" values " + values; //sql stmt.executeUpdate(insertsql); //db close stmt.close(); con.close(); } catch (Exception ex) { System.out.println("Exception insertでエラー: " + ex.getMessage()); } } } ここまで

    • ベストアンサー
    • Java
  • ButteflyPersistenceの主キー

    現在O/RマッパーでButteflyPersistenceを使っているのですが、主キーがうまくマッピングできていないらしく更新・削除の処理をすると”No primary key columns for object mapping”というエラーが発生します。主キーを割り当てる方法がございましたらご教授ください。 設定したファイルの内容は以下の通りです。 DBはH2を使っています。 CREATE TABLE user ( ID Identity, NAME varchar(255) default NULL, AGE Integer (2), PRIMARY KEY (ID) ) Userクラス import com.jenkov.db.itf.mapping.AClassMapping; import com.jenkov.db.itf.mapping.AGetterMapping; import com.jenkov.db.itf.mapping.ASetterMapping; @AClassMapping(mappingMode="modify", tableName="user") public class User { @SuppressWarnings("unused") private static final long serialVersionUID = 1L; private int id; private int age; @AGetterMapping(columnName="ID",databaseGenerated=true) public int getId() { return id; } @ASetterMapping(columnName="ID") public void setId(int id) { this.id = id; } private String name; @AGetterMapping(columnName="NAME") public String getName() { return name; } @ASetterMapping(columnName="NAME") public void setName(String name) { this.name = name; } @AGetterMapping(columnName="AGE") public int getAge() { return age; } @ASetterMapping(columnName="AGE") public void setAge(int age) { this.age = age; } }

  • List配列の検索

    インスタンス化されているJavaBeanがArrayListに数百~数千入っています。その配列から特定のJavaBeanのメンバーの内容が一致しているオブジェクトだけ取り出したいです。イテレーターを使って1個1個取り出してチェックして・・・というプログラムをゴリゴリ書いても良いのですが、SQLみたいに一致した条件のオブジェクトをまとめて取得するなんて事はできないのでしょうか? --- Goods.java --- import java.io.*; public class Goods implements Serializable{ private String name; private double price; private int stock; public Goods(){ } public Goods( String name, double price, int stock ){ this.name = name; this.price = price; this.stock = stock; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getStock() { return stock; } public void setStock(int stock) { this.stock = stock; } } というBeanがあり、仮に下記ロジックでaddし検索 --- mainlogic --- ArrayList<Goods> goodsList = new ArrayList<Goods>(); goodsList.add( new Goods("ABC",123,10) ); goodsList.add( new Goods("DEF",456, 0) ); // ←該当オブジェクト goodsList.add( new Goods("GHI",789,15) ); goodsList.add( new Goods("JKL",987, 0) ); // ←該当オブジェクト ・・・ // ここでgoodsListに入っているGoodsオブジェクトのメンバーstock(在庫数)が0のGoodsオブジェクトを取得したい ・・・ という感じなのですが、SQLなら"SELECT * FROM goodsList WHERE Goods.stock = 0"で簡単に抽出できるのですが、このような事ってできないですよね? やはり、イテレーターで全件検索か、一旦、オブジェクトをDBに書き出して取り出すという事しかできないですよね? 他に何か良い方法などありましたら、ご教授お願い致します。

  • webアプリを作ってます。 A result was returned

    webアプリを作ってます。 A result was returned web アプリを作ってます。 A result was returned when none エラー が出て原因がわかりませんでした。 どこがおかしいのか教えてください。 package info.searchman; import java.io.*; import java.sql.*; //import java.util.*; public class KensakuBeans implements Serializable { /** * */ private static final long serialVersionUID = 1L; private String Id; private String name; private String older; private String taiju; private String shintyo; private String other; private String[] results; //Constructor public void Kensaku2Beans() { System.out.println("sitb constructor"); } public void setName(String name) { this.name = name; System.out.println("dkb setter" +name); } // Getting Methods public String getId() { return this.Id; } public String getName() { return this.name; } public String getOld() { return this.older; } public String getTaiju() { return this.taiju; } public String getShintyo() { return this.shintyo; } public String getOther() { return this.other; } public int getCountOfResults() { System.out.println("ucb10"); if (results==null) return 0; else System.out.println("ucb10 else"); return results.length; } public String getResult(int index) { System.out.println("ucb11"); return results[index]; } //execute kensaku public void kensaku() { try { System.out.println("++++" +name); System.out.println("dkb7 insert"); //JDBC Driver Class.forName("org.postgresql.Driver"); System.out.println("dkb7 kensaku2"); Connection con = DriverManager.getConnection("jdbc:postgresql:postgres","postgres","gokui"); Statement stmt = con.createStatement(); System.out.println("dkb7 kensaku3"); String table = "test"; System.out.println(table); System.out.println("dkb7 kensaku4"); System.out.println(name); System.out.println("dkb7 kensaku5"); その2に続く http://okwave.jp/qa/q5933123.html

  • インターフェースを持つenum定数を引数にする方法

    jdk5を利用しています。 特定のIFを持つenum定数が、複数あります。 例.IHogeをもつenum定数 public enum Hoge implements IHoge { HOGE1(1),HOGE2(2),HOGE3(3); private int no = 0; private Hoge(int no) {this.no = no;} /* IFのMethod */ public int getNo(){return no ;} } enum定数を使用して、下のような処理を行っています。 class A { public void a(){ this.c.setClass(Hoge); for(IHoge iHoge : Hoge.values()) { this.setHogeX(iHoge.getNo()); } } public void b(){ //別のenum定数の処理 } } 現在、enum定数毎に、別々のメソッドを用意して対応していますが、 処理が、全く同じな為、一つのメソッドにしたいと思っています。 IFを持つenum定数を、引数にしたいのですが、どのように記述すればよいか分りません。 public void a(Class<? extends Enum> hoge) {} 上の宣言だと、enum定数は通りますが、IFは渡せません。 本などを調べましたが、見つける事が出来ませんでした。 ご存知の方、ご教授よろしくお願いいたします。