This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<beans xmlns="http://www.springframework.org/schema/beans" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xmlns:context="http://www.springframework.org/schema/context" | |
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd | |
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> | |
<bean id="founder" class="com.socialfoundry.model.Founder"/> | |
<bean id="project" class="com.socialfoundry.model.Project"/> | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public List<Contact> findAll() { | |
String sql = "select id, first_name, last_name, birth_date from contact"; | |
return jdbcTemplate.query(sql, new ContactMapper()); | |
} | |
public List<Contact> findAllWithDetail() { | |
String sql = "select c.id, c.first_name, c.last_name, c.birth_date" + | |
", t.id as contact_tel_id, t.tel_type, t.tel_number from contact c " + | |
"left join contact_tel_detail t on c.id = t.contact_id"; | |
return jdbcTemplate.query(sql, new ContactWithDetailExtractor()); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static final class ContactWithDetailExtractor implements ResultSetExtractor<List<Contact>> { | |
public List<Contact> extractData(ResultSet rs) throws SQLException, | |
DataAccessException { | |
Map<Long, Contact> map = new HashMap<Long, Contact>(); | |
Contact contact = null; | |
while (rs.next()) { | |
Long id = rs.getLong("id"); | |
contact = map.get(id); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<beans xmlns="http://www.springframework.org/schema/beans" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xmlns:context="http://www.springframework.org/schema/context" | |
xmlns:jdbc="http://www.springframework.org/schema/jdbc" | |
xmlns:jee="http://www.springframework.org/schema/jee" | |
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd | |
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd | |
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd | |
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd"> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DELIMITER // | |
CREATE FUNCTION getFirstNameById(in_id INT) | |
RETURNS VARCHAR(60) | |
BEGIN | |
RETURN (SELECT first_name FROM CONTACT WHERE id = in_id); | |
END // | |
DELIMITER ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public List<Contact> findAll() { | |
return sessionFactory.getCurrentSession().createQuery("from Contact c").list(); | |
} | |
public List<Contact> findAllWithDetail() { | |
return sessionFactory.getCurrentSession().getNamedQuery("Contact.findAllWithDetail").list(); | |
} | |
public Contact findById(Long id) { | |
return (Contact) sessionFactory.getCurrentSession(). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.company.hibernate.dao; | |
import java.util.List; | |
import javax.annotation.Resource; | |
import org.apache.commons.logging.Log; | |
import org.apache.commons.logging.LogFactory; | |
import org.hibernate.SessionFactory; | |
import org.springframework.stereotype.Repository; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Entity | |
@Table(name = "contact") | |
@NamedQueries({ | |
@NamedQuery(name="Contact.findById", | |
query="select distinct c from Contact c left join fetch c.contactTelDetails t left join fetch c.hobbies h where c.id = :id"), | |
@NamedQuery(name="Contact.findAllWithDetail", | |
query="select distinct c from Contact c left join fetch c.contactTelDetails t left join fetch c.hobbies h") | |
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DROP TABLE IF EXISTS CONTACT_HOBBY_DETAIL; | |
DROP TABLE IF EXISTS CONTACT_TEL_DETAIL; | |
DROP TABLE IF EXISTS HOBBY; | |
DROP TABLE IF EXISTS CONTACT; | |
CREATE TABLE CONTACT ( | |
ID INT NOT NULL AUTO_INCREMENT | |
, FIRST_NAME VARCHAR(60) NOT NULL | |
, LAST_NAME VARCHAR(40) NOT NULL | |
, BIRTH_DATE DATE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
insert into contact (first_name, last_name, birth_date) values ('Clarence', 'Ho', '1980-07-30'); | |
insert into contact (first_name, last_name, birth_date) values ('Scott', 'Tiger', '1990-11-02'); | |
insert into contact (first_name, last_name, birth_date) values ('John', 'Smith', '1964-02-28'); | |
insert into contact_tel_detail (contact_id, tel_type, tel_number) values (1, 'Mobile', '1234567890'); | |
insert into contact_tel_detail (contact_id, tel_type, tel_number) values (1, 'Home', '1234567890'); | |
insert into contact_tel_detail (contact_id, tel_type, tel_number) values (2, 'Home', '1234567890'); | |
insert into hobby (hobby_id) values ('Swimming'); | |
insert into hobby (hobby_id) values ('Jogging'); |
OlderNewer