当我们用HQL进行子查询的时候,如select * from Tree where pid in (select id from Tree,此时HIBERANTE就会报错,说什么*号错误之类的。但如果将*改为Tree类里的所有子段时就不会有问题了。就会像平时一样第一行数据返回一个Object[],然后你再根据Tree类里字段对Object[]数组里的值进行转换。这样一来比较麻烦。今天发现如果我SQL来查有一个方法可以返回一个对象的。
Configuration config = new Configuration().configure();
SessionFactory sf = config.buildSessionFactory();
Session session = sf.openSession();
Transaction ts = session.beginTransaction();
Query query = session.createSQLQuery("select * from Tree t where pid in (select id from Tree) ").addEntity(Tree.class); //返回对象
List list = query.list();
此时在遍历list时就可以(Tree)list.get[i];将每一行的内容变换为一个对象了。
另还可以返回一个Map对象,也就是说在在list里包含多个Map,代码如下
Query query = session.createSQLQuery("select id,name from Tree t where pid in (select id from Tree) ").setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); //返回一个map,KEY:为DB中名称一致(大小写一致)遍历list时就可以
Map map = (Map)list.get[i];
map.get("id");map.get("name");来取值。按你的SQL语句select后的字段名来作为map的Key,但这个key必须与数据库中的字段名一模一样。
还可以用作函数方面的。如
Query query = session.createSQLQuery("select sum(id) SUMID from Tree t where pid in (select id from Tree)
.addScalar("SUMID",Hibernate.INTEGER) //转换类型,按DB中的type转
.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); //返回一个map,KEY:为DB中名称一致(大小写一致)
直接就map.get("SUMID")可以取值了
分享到:
相关推荐
标题中的“bianxingjingang.rar_OLDMETAL.J_TRANSFORMERS_opengl_opengl_deform”暗示了这是一个关于OpenGL编程的项目,具体是实现了一个变形金刚模型在3D空间中的动态旋转和形变效果。这个项目可能使用了OldMetal.J...
.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); ``` 在上面的代码中,我们使用 setResultTransformer() 方法将查询结果转换为 Map 对象,每个 Map 对象的 KEY 是数据库中的字段名,VALUE 是该字段的值...
标题"SCT.zip_TRANSFORMERS_sct_zip"涉及到的主题是超导变压器(Super Conducting Transformers, SCT),这是一种使用超导材料作为绕组的电力变压器。超导材料具有极低的电阻,几乎为零,这使得在传输电流时几乎没有...
在Python编程环境中,我们经常遇到导入模块时遇到错误,如"No module named ‘transformers.models.auto.tokenization-auto‘"。这个错误表明系统无法找到名为`transformers.models.auto.tokenization-auto`的模块,...
transformers.BertForSequenceClassification transformers.Trainer transformers.TrainingArguments lime.lime_text.LimeTextExplainer warnings sklearn.feature_extraction.text.TfidfVectorizer torch torch....
transformers.BertTokenizer numpy panel datasets.Dataset datasets.DatasetDict datasets.Features datasets.Value datasets.ClassLabel plotly.express torch.nn.functional transformers.AutoTokenizer ...
transformers.BertForSequenceClassification torch.utils.data.DataLoader torch.utils.data.RandomSampler transformers.AdamW transformers.get_linear_schedule_with_warmup sklearn.metrics.f1_score random ...
transformers.AutoModelForSequenceClassification torch scipy nltk re wordcloud.WordCloud sklearn.feature_extraction.text.ENGLISH_STOP_WORDS collections.Counter matplotlib.pyplot seaborn sklearn.metrics...
transformers.get_linear_schedule_with_warmup time datetime random sklearn.metrics.matthews_corrcoef sklearn.naive_bayes.MultinomialNB sklearn.pipeline.make_pipeline sklearn.ensemble....
Load flow studies determine if system voltages remain within specified limits under normal or emergency operating conditions, and whether equipment such as transformers and conductors are overloaded....
transformers.BertForSequenceClassification transformers.Trainer transformers.TrainingArguments torch.utils.data.Dataset sklearn.model_selection.train_test_split sklearn.metrics.accuracy_score sklearn....
5. **bert-base-srl-2020.09.03.tar**: 这是另一个提及的文件,可能是一个基于BERT(Bidirectional Encoder Representations from Transformers)的语义角色标注(SRL)模型。BERT是Google开发的深度学习模型,用于...
标题中的“fff.zip_TRANSFORMERS_matlab solid_solid state”表明这是一个关于固体变压器(Solid State Transformers, SSTs)的资料集合,特别提到了MATLAB可能在其中的应用。MATLAB是一种广泛用于数学计算、数据...
transformers.pipeline re warnings sklearn.metrics.classification_report sklearn.metrics.confusion_matrix sklearn.metrics.roc_curve sklearn.metrics.auc sklearn.preprocessing.label_binarize sklearn....
transformers.TFDistilBertForSequenceClassification transformers.create_optimizer keras.callbacks.ReduceLROnPlateau nltk.stem.PorterStemmer tensorflow.keras.Sequential textblob.TextBlob sklearn.feature...
"TRANSFORMERS_三相变压器_变压器启动_电"进一步明确了我们将深入研究三相变压器在电动机启动过程中的作用。 在电机系统中,三相异步电机是最常见的类型,广泛应用于工业生产中。这种电机以其结构简单、运行可靠和...
https://huggingface.co/transformers/custom_datasets.html#seq-imdb 用到的数据
Electronic switch-mode DC to DC converters convert one DC voltage level to another, by storing the input energy temporarily and then releasing that energy to the output at a different voltage....
sklearn_features.transformers.DataFrameSelector sklearn.linear_model.SGDRegressor IPython.display.Image IPython.display.display sklearn.preprocessing.RobustScaler sklearn.decomposition.PCA sklearn....
AI实战-意大利城市气体化学物污染浓度数据集分析预测实例(含17个源代码+766.67 KB完整的数据集) ...darts.dataprocessing.transformers.Scaler darts.models.NBEATSModel darts.metrics.mape darts.metrics.mae