gpt4 book ai didi

java - 获取未在 Hibernate 中映射的 bean 类型列表

转载 作者:行者123 更新时间:2023-11-30 04:17:24 26 4
gpt4 key购买 nike

我不知道这在 hibernate 状态下是否可行。

我可以使用 Hibernate 的 getSession() 获取 Bean 类型(尚未映射)的列表吗?

我想做的是从查询中获取两个值。这些值来自不同的表。我已经完成了查询,但是当我尝试执行 getSession 时,它说我的类未映射。我不映射它,因为没有要映射的表。我创建了一个名为 ObjetivoAdapter 的类,其中包含两个字符串(我需要放入列表中的信息)。我还创建了该类,因为我需要我的信息列表。

这些是我从中获取信息的表格:

表:产品。栏目:描述。列:codigo_barras

表:objective。列:codigo_barras_objetivo(与表producto 中的codigo_barras 的FK)。列:promocion_id(带有来自表 promocion 的 id 的 FK)

表:促销列:id

这是我的类 bean ObjetivoAdapter:

public class ObjetivoAdapter {

private String nombreProducto;
private String codigoBarrasObjetivo;

public void ObjetivoAdapter(String nombreProducto, String codigoBarrasObjetivo) {
this.nombreProducto = nombreProducto;
this.codigoBarrasObjetivo = codigoBarrasObjetivo;
}

public String getCodigoBarrasObjetivo() {
return codigoBarrasObjetivo;
}

public void setCodigoBarrasObjetivo(String codigoBarrasObjetivo) {
this.codigoBarrasObjetivo = codigoBarrasObjetivo;
}

public String getNombreProducto() {
return nombreProducto;
}

public void setNombreProducto(String nombreProducto) {
this.nombreProducto = nombreProducto;
}

}

这是我的查询:

public List<ObjetivoAdapter> getInfo(String codBarras) {
String sql = "SELECT o.codigo_barras_objetivo, p.descripcion_corta FROM objetivo o "
+ "INNER JOIN producto p ON o.codigo_barras_objetivo = p.codigo_barras "
+ "INNER JOIN promocion pr ON o.promocion_id = pr.id "
+ "WHERE codigo_barras = ' " + codBarras + "';";
List<ObjetivoAdapter> listaOA = getSession().createSQLQuery(sql).addEntity(ObjetivoAdapter.class).list();
return listaOA;
}

任何帮助将不胜感激。

最佳答案

使用 setResultTransformer(AliasToBeanResultTransformer) 而不是 addEntity() 一切都应该没问题

关于java - 获取未在 Hibernate 中映射的 bean 类型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18025710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com