Hibernate createQuery调用joincolumn
1. Beans
a. Version Bean
package locationService.beans; import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List; import javax.persistence.*; import org.hibernate.annotations.GenericGenerator; import locationService.beans.Entities;
import locationService.beans.Attribute;
import locationService.beans.AttributeTag;
import locationService.beans.EntityToEntity;
import locationService.beans.Tag; @Entity
@Table(name = "version")
public class Version {
private int versionId;
private boolean complete;
private Timestamp editDate;
private String author;
private String description;
private int preVersionId;
private List<Entities> entities = new ArrayList<Entities>();
private List<Attribute> attribute = new ArrayList<Attribute>();
private List<AttributeTag> attributeTag = new ArrayList<AttributeTag>();
private List<EntityToEntity> entityToEntity = new ArrayList<EntityToEntity>();
private List<Tag> tag = new ArrayList<Tag>(); @Id
@GeneratedValue(generator = "increment")
@GenericGenerator(name = "increment", strategy = "increment")
@Column(name="version_id")
public int getVersionId() {
return versionId;
}
public void setVersionId(int versionId) {
this.versionId = versionId;
} @Column(name="complete")
public boolean getComplete() {
return complete;
}
public void setComplete(boolean complete) {
this.complete = complete;
} @Column(name="edit_date")
public Timestamp getEditDate() {
return editDate;
}
public void setEditDate(Timestamp editDate) {
this.editDate = editDate;
} @Column(name="author")
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
} @Column(name="description")
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
} @Column(name="pre_version_id")
public int getPreVersionId() {
return preVersionId;
}
public void setPreVersionId(int preVersionId) {
this.preVersionId = preVersionId;
} @OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "version_id", nullable = false)
public List<Entities> getEntities() {
return entities;
}
public void setEntities(List<Entities> entities) {
this.entities = entities;
} @Override
public String toString() {
return "versionId is " + versionId + ", preVersionId is " + preVersionId + ", author is " + author;
} }
b. Entities Bean
package locationService.beans; import javax.persistence.*; import org.hibernate.annotations.GenericGenerator; @Entity
@Table(name = "entities")
public class Entities {
private int entityId;
private String label;
public enum entityType {
location, group;
} private entityType locationOrGroup;
@Id
@Column(name="entity_id")
public int getEntityId() {
return entityId;
}
public void setEntityId(int entityId) {
this.entityId = entityId;
} @Column(name="label")
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
} @Column(name="location_or_group")
@Enumerated(EnumType.STRING)
public entityType getLocationOrGroup() {
return locationOrGroup;
}
public void setLocationOrGroup(entityType locationOrGroup) {
this.locationOrGroup = locationOrGroup;
} @Override
public String toString() {
return "entityId is " + entityId + ", label is " + label + ", locationOrGroup is " + locationOrGroup;
} }
2. Call Method
/**
* Check whether this entities id has been in the version
*/
public boolean checkEntitiesPK (Version version, int entityId) {
Session session = Config.getSessionFactory().openSession();
session.beginTransaction(); int versionId = version.getVersionId(); Query query = session.createQuery("from Entities where entityId = :entityId and version_id = :versionId");
query.setParameter("entityId", entityId);
query.setParameter("versionId", versionId); @SuppressWarnings("unchecked")
List<Entities> o = query.list();
if (o == null || o.size() == 0){
return false;
} return true;
}
Hibernate createQuery调用joincolumn的更多相关文章
- Hibernate中调用带有underscore的Column Name
Hibernate中默认的NamingStrategy不支持调用带有下划线的column name.在hibernate的bean中必须使用camel case.使用ImprovedNamingStr ...
- Hibernate不调用update却自动更新
案例: TInfCustomer cus = (TInfCustomer) this.baseDao.getOne(helper); cus.setXXX cus .setXXX 不调用update也 ...
- hibernate中调用query.list()而出现的黄色警告线
使用hibernate的时候会用到hql语句查询数据库, 那就一定会用到query.list();这个方法, 那就一定会出现一个长长的黄色的警告线, 不管你想尽什么办法, 总是存在, 虽然说这个黄色的 ...
- Hibernate的调用数据库的存储过程
Hibernate并没有给出直接调用数据库的存储过程的API,所以咋们就要通过调用原生的的connection对象来实现对存储过程的条用 Hibernate调用存储过程的步骤: 1:获得原生conne ...
- hibernate createQuery和createSQLQuery 查询结果count计算
createQuery 针对hql语句查询 Query query=getSession().createQuery(hql);int result =((Number) query.iterate( ...
- hibernate createQuery查询传递参数的两种方式
String hql = "from InventoryTask it where it.orgId=:orgId"; Session session = getSession() ...
- 使用Hibernate模板调用存储过程
前提是该Dao类已经已经继承了org.springframework.orm.hibernate5.support.HibernateDaoSupport,并且在整个项目中已经配置好了事务,或者是手动 ...
- hibernate不调用save也保存上了
List<Instrument> insts = instService.search(search); if (insts.size() == 1) { Instrument inst ...
- Hibernate调用Oracle的存储过程
众所周知,当过多的使用存储过程,触发器等 数据库方言相关的应用时,应用程序的移植性会变差,特别是在Hibernate中使用这些,简直是讽刺,但是当今中国又有哪家公司做项目会关心应用程序的移植性呢? 现 ...
随机推荐
- 玩转 SSH(七):使用 dubbo + zookeeper 实现服务模块化
一.创建 SSMVCAnnoDemo 项目 点击菜单,选择“File -> New Project” 创建新项目.选择使用 archetype 中的 maven-quickstart 模版创建. ...
- 简单分析下用yii2的yii\helpers\Html类和yii.js实现的post请求
yii2提供了很多帮助类,比如Html.Url.Json等,可以很方便的实现一些功能,下面简单说下这个Html.用yii2写view时时经常会用到它,今天在改写一个页面时又用到了它.它比较好用的地方就 ...
- AOP学习笔记一
软件开发的目的是为了解决各种需求,包括业务需求和系统需求.目前,业界通过使用面向对象的编程思想,已经可以对业务需求等普通关注点进行很好的抽象与封装,并且使之模块化.但是对于系统需求一类的关注点来说,情 ...
- 1134: 零起点学算法41——多组测试数据(a+b)III
1134: 零起点学算法41--多组测试数据(a+b)III Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitt ...
- (读书笔记)函数参数浅析-JavaScript高级程序设计(第3版)
ECMAScript函数不介意传递的参数个数,因为在其内部是用一个数组进行表示的.在函数体内可以通过arguments对象来访问这个参数数组,就像我们正常访问数组一样处理. arguments对象只是 ...
- ios 获取当前设备信息、内存
//在[UIDevice currentDevice]中的属性 @property(nonatomic,readonly,strong) NSString *name; // e.g. "M ...
- JS自定义对象,正则表达式,JQuery中的一些知识点
一:自定义对象 1.基本概念:①对象:包含一系列无序属性和方法的集合.②键值对:对象中的数据是以键值对的形式存在的,以键取值.③属性:描述对象特征的一系列变量.[对象中的变量]④方法:描述对象行为的一 ...
- 这可能是php世界中最好的日志库——monolog
由于一些历史原因,php中并没有内建的日志接口,故长期以来也没一个功能完备并且应用广泛的日志库.在我的工作生涯中,如果系统需要记录一些应用日志的话,基本上就是封装一个日志类,然后把一些要记录的字段写入 ...
- bootstrap loadStep流程节点动态显示
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- java8 Lambda表达式的新手上车指南(1)
背景 java9的一再推迟发布,似乎让我们恍然想起离发布java8已经过去了三年之久,java8应该算的上java语言在历代版本中变化最大的一个版本了,最大的新特性应该算得上是增加了lambda表达式 ...