Processor
オブジェクトをデータベースから値で取得しようとしています。スキーマがid、value、type_idのデータベースにProcessorテーブルがあります。私はProcessorService
をDAOとして持っています。Hibernate - 列のdouble値でオブジェクトを見つける
Processor processor = processorService.findByValue(Double.valueOf(cpu));
データベースには既存のプロセッサオブジェクトがあります。プロセッサがNULLの場合私は二重の価値を比較することに問題があると思う。これは、他のクラスのオブジェクトでも機能するためです。
これはfindByValue()
方法
public Processor findByValue(Double value) {
Criteria criteria = createEntityCriteria();
criteria.add(Restrictions.eq("value", value));
return (Processor) criteria.uniqueResult();
}
protected Criteria createEntityCriteria(){
return getSession().createCriteria(persistentClass);
}
[編集]
私はfindByValue()
を呼び出すと、私は取得していますです。
type mismatch can't assign object value to primitive
プロセッサクラス
public class Processor {
public static final int serialId = 104;
private int id;
private Double value;
private Type typeId;
private Collection<Smartphone> processorId;
@Id
@Column(name = "id", unique = true, nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Basic
@Column(name = "value", precision = 4, scale = 2, columnDefinition="DECIMAL(4,2)")
public Double getValue() {
return value;
}
public void setValue(Double value) {
this.value = value;
}
}
を試してみて何が悪いですの? –
findByValueを呼び出すとnullが返されますが、オブジェクトが存在します。 – Beata92
あなたはあなたの質問にそれを追加する必要があります –