- 浏览: 656188 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
/////////////////////////////////////////////////////////////////////////
import java.util.*;
import org.hibernate.*;
import org.hibernate.criterion.*;
public class SimpleRetrieveTest {
public static void main(String[] args) {
HibernateUtil.setup("create table EVENTS ( uid int, name VARCHAR, start_Date date, duration int, location_id int);");
HibernateUtil.setup("create table locations ( uid int, name VARCHAR, address VARCHAR);");
// hibernate code start
Session session = HibernateUtil.currentSession();
Transaction tx = session.beginTransaction();
Location location = new Location();
location.setName("USA");
location.setAddress("Address");
session.save(location);
Event e= new Event();
e.setId(11111L);
e.setName("testSave");
e.setStartDate(new Date());
e.setLocation(location);
session.save(e);
Criteria crit = session.createCriteria(Event.class);
crit.add( Expression.eq( "name", "testSave" ) );
crit.setMaxResults(1);
List results = crit.list();
System.out.println(results.size());
tx.commit();
HibernateUtil.closeSession();
HibernateUtil.sessionFactory.close();
// hibernate code end
}
}
/////////////////////////////////////////////////////////////////////////
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping >
<class name="Location" table="locations" lazy="true">
<id name="id" column="uid" type="long">
<generator class="native"/>
</id>
<property name="name" type="string"/>
<property name="address" type="string"/>
</class>
</hibernate-mapping>
/////////////////////////////////////////////////////////////////////////
public class Location {
private Long id;
private String name;
private String address;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
/////////////////////////////////////////////////////////////////////////
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<!--
This is a simplified version of the Event class used to
demonstrate proxies.
-->
<class name="Event" table="events">
<id name="id" column="uid" type="long" unsaved-value="null">
<generator class="assigned"/>
</id>
<property name="name" type="string" length="100"/>
<property name="startDate" column="start_date"
type="date"/>
<property name="duration" type="integer"/>
<many-to-one name="location" column="location_id"
class="Location"/>
</class>
</hibernate-mapping>
/////////////////////////////////////////////////////////////////////////
import java.util.Date;
public class Event {
private Long id;
private String name;
private Date startDate;
private int duration;
private Location location;
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public int getDuration() {
return duration;
}
public void setDuration(int duration) {
this.duration = duration;
}
public Location getLocation() {
return location;
}
public void setLocation(Location location) {
this.location = location;
}
}
/////////////////////////////////////////////////////////////////////////
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:data/tutorial</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<mapping resource="Event.hbm.xml"/>
<mapping resource="Location.hbm.xml"/>
<mapping resource="Speaker.hbm.xml"/>
</session-factory>
</hibernate-configuration>
发表评论
-
hibernate Restrictions用法 MatchMode.ANYWHERE
2012-07-14 15:50 3945方法 说明 Res ... -
hibernate3 大批量更新/删除数据 (update/delete)
2011-11-10 12:15 1366Hibernate3.0 采用新的基 ... -
hibernate lazy(延迟加载)
2011-10-12 02:20 915hibernate lazy策略可以使用在: * < ... -
一些关于Hibernate延迟加载的误区
2011-09-12 23:13 886首先是第一个误区:延迟加载只能作用于关联实体 看到这个是 ... -
org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling
2011-08-12 19:17 1244Hi I am facing a problem wit ... -
Criteria Condition: Match Mode End
2011-07-02 11:05 978//////////////////////////// ... -
Criteria: Group By Criteria
2011-07-02 11:03 1328/////////////////////////////// ... -
Criteria: Order
2011-07-02 10:59 766//////////////////////////// ... -
Criteria: Associations Sorting Criteria
2011-07-02 10:57 904//////////////////////////// ... -
hibernate的Query有没有setResultTransformer这个方法
2011-07-01 23:24 3082可以对原生SQL 查询使用ResultTransformer。 ... -
Hibernate中一级缓存、二级缓存及查询缓存的技术性总结
2011-06-21 17:31 1231一、 一级缓存 1. ... -
hibernate 保存 oracle 10g大数据字段
2011-06-14 04:01 1446Java代码 要点如下: ... -
Hibernate 错误原因总结
2011-06-14 00:10 14251、错误: object references an unsa ... -
MappingException提示Association references unmapped class错误的解决方法
2011-06-12 17:09 10出现如下错误信息时 Caused by: org.hibe ... -
Hibernate一对多关联映射的配置及其级联删除问题
2011-06-12 17:07 9首先举一个简单的一对多双向关联的配置: 一的一端:Quest ... -
Hibernate多对一关联映射原理、映射方法和数据的保存
2011-06-12 17:06 13Hibernate的多对一关联映射实现的基本原理就是: 在多 ... -
Hibernate一对多单向关联和双向关联映射方法及其优缺点
2011-06-12 17:05 11一对多关联映射和多对一关联映射实现的基本原理都是一样的,既是在 ... -
inverse = “true” example and explanation
2011-06-11 22:18 1118In Hibernate, only the “relatio ... -
ibatis和hibernate区别
2011-04-13 17:34 825ibatis:sql需要自己写 hibe ... -
Hibernate StackOverFlowError 异常出现的原因
2011-04-13 16:51 1273引起StackOverFlowError异常的一般是因为在程序 ...
相关推荐
2. **创建CriteriaQuery**:使用CriteriaBuilder创建CriteriaQuery对象,指定查询返回的实体类型。 ```java CriteriaQuery<MyEntity> query = criteriaBuilder.createQuery(MyEntity.class); ``` 3. **定义Root**...
CriteriaQuery<CameraInfoPO> query = cb.createQuery(CameraInfoPO.class); Root<CameraInfoPO> root = query.from(CameraInfoPO.class); query.where(cb.equal(root.get("isEnabled"), isEnabled)); ...
在Hibernate中,高级查询主要包括HQL(Hibernate Query Language)、Criteria API和Criteria Builder。这些方法不仅增强了查询的灵活性,还能更好地适应复杂的业务需求。 1. **HQL(Hibernate Query Language)** ...
criteria.where(builder.equal(root.get("name"), "John")); List<User> users = session.createQuery(criteria).getResultList(); ``` 四、持久化模型的映射 Hibernate支持两种映射方式:XML配置和注解。XML...
CriteriaQuery<User> criteriaQuery = criteriaBuilder.createQuery(User.class); Root<User> root = criteriaQuery.from(User.class); Predicate condition = criteriaBuilder.equal(root.get("username"), ...
本实践项目“Hibernate查询映射试验”旨在通过一系列示例帮助开发者掌握Hibernate中的查询映射技术,包括HQL(Hibernate Query Language)和Criteria API。 首先,Hibernate的核心是对象关系映射(ORM),它允许...
CriteriaQuery<MyEntity> query = builder.createQuery(MyEntity.class); Root<MyEntity> root = query.from(MyEntity.class); // 添加条件查询 Predicate[] predicates = new Predicate[criteria....
public Predicate toPredicate(Root<MonitorLog> root, javax.persistence.criteria.CriteriaQuery<?> query, CriteriaBuilder cb) { List<Predicate> lstPredicates = new ArrayList(); if (StringUtils....
在本文中,我们将深入探讨Spring Data JPA中的JpaRepository查询功能。...通过方法名查询、@Query注解、Specifications和Criteria API,我们可以轻松处理各种查询场景,从而更加专注于业务逻辑的实现。
CriteriaQuery<User> criteria = builder.createQuery(User.class); Root<User> userRoot = criteria.from(User.class); Predicate condition = builder.equal(userRoot.get("name"), "John"); criteria.where...
CriteriaQuery<User> criteria = builder.createQuery(User.class); Root<User> root = criteria.from(User.class); Predicate condition = builder.equal(root.get("name"), "John Doe"); criteria.where...
CriteriaQuery<User> criteria = builder.createQuery(User.class); Root<User> root = criteria.from(User.class); Predicate condition = builder.equal(root.get("name"), "John"); criteria.where(condition); ...
CriteriaQuery<User> cq = cb.createQuery(User.class); Root<User> root = cq.from(User.class); cq.where(cb.equal(root.get("name"), "Alice")); TypedQuery<User> query = em.createQuery(cq); List<User> ...
criteria.where(builder.equal(userRoot.get("name"), "John")); List<User> users = session.createQuery(criteria).getResultList(); ``` ### 九、事务处理 在 Hibernate 中,通常需要将一组操作包装在一个事务...
Criteria API 中的 `CriteriaQuery` 接口是一个特定的顶层查询对象,用于表示整个查询的结构。你可以通过它来指定 SELECT 子句、FROM 子句、WHERE 条件、GROUP BY 子句和 ORDER BY 子句。而 `Root<T>` 接口则代表了...
q.or(q.criteria("firstName").equal("John"), q.criteria("lastName").equal("Doe")); ``` 此示例中的查询将返回所有名为“John”或姓氏为“Doe”的人。 ##### 2.4 排序(Sorting) Morphia支持基于一个或多个字段...
在这个类中,你需要重写`toPredicate(Root<T> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder)`方法。`Root<T>`代表了实体的根节点,`CriteriaQuery<?>`是查询对象,`CriteriaBuilder`则是...
2. **创建CriteriaQuery**:使用`CriteriaBuilder`的`createQuery()`方法创建`CriteriaQuery`,指定查询返回的类型,这里是`UserInfo`。 3. **指定查询的表**:调用`CriteriaQuery`的`from()`方法,传入实体类,...
return (root, criteriaQuery, criteriaBuilder) -> { return criteriaBuilder.equal(root.get("username"), username); }; } } ``` 然后在repository中调用这个specification: ```java Page<User> users = ...
CriteriaQuery<User> all = cq.select(rootEntry).where(cb.equal(rootEntry.get("name"), "John Doe")); TypedQuery<User> allQuery = em.createQuery(all); List<User> users = allQuery.getResultList(); ``` ##...