{"id":697,"date":"2022-11-18T07:44:14","date_gmt":"2022-12-17T11:10:57","guid":{"rendered":"https:\/\/www.silicloud.com\/ja\/blog\/index.php\/2023\/11\/30\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/"},"modified":"2025-08-01T01:44:25","modified_gmt":"2025-07-31T16:44:25","slug":"%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/","title":{"rendered":"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3002"},"content":{"rendered":"<p>\u30b9\u30d7\u30ea\u30f3\u30b0\u306f\u6700\u3082\u4f7f\u7528\u3055\u308c\u308bJava EE\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u3046\u3061\u306e1\u3064\u3067\u3042\u308a\u3001\u30cf\u30a4\u30d0\u30cd\u30a4\u30c8\u306f\u6700\u3082\u4eba\u6c17\u306e\u3042\u308bORM\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u30b9\u30d7\u30ea\u30f3\u30b0\u3068\u30cf\u30a4\u30d0\u30cd\u30a4\u30c8\u306e\u7d44\u307f\u5408\u308f\u305b\u306f\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3088\u304f\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u6700\u8fd1\u3001\u79c1\u306f\u30b9\u30d7\u30ea\u30f3\u30b0\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3068\u30cf\u30a4\u30d0\u30cd\u30a4\u30c8\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306b\u591a\u304f\u3092\u66f8\u3044\u3066\u304d\u307e\u3057\u305f\u306e\u3067\u3001\u30b9\u30d7\u30ea\u30f3\u30b0\u3068\u30cf\u30a4\u30d0\u30cd\u30a4\u30c8\u306e\u7d71\u5408\u306b\u3064\u3044\u3066\u306e\u8a18\u4e8b\u304c\u9577\u3044\u9593\u5fc5\u8981\u3067\u3057\u305f\u3002<\/p>\n<h2>\u30b9\u30d7\u30ea\u30f3\u30b0 \u30cf\u30a4\u30d0\u30cd\u30fc\u30c8<\/h2>\n<p>\u4eca\u65e5\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3067\u306f\u3001Spring 4\u3092\u4f7f\u7528\u3057\u3066Hibernate 3\u3068\u7d71\u5408\u3057\u3001\u540c\u3058\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092Hibernate 4\u3092\u4f7f\u7528\u3059\u308b\u3088\u3046\u306b\u66f4\u65b0\u3057\u307e\u3059\u3002Spring\u3068Hibernate\u306e\u4e21\u65b9\u306b\u306f\u591a\u304f\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u3042\u308a\u3001Spring ORM\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306fHibernate 3\u3068Hibernate 4\u306e\u4e21\u65b9\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u4f7f\u7528\u3057\u305f\u4f9d\u5b58\u95a2\u4fc2\u3092\u3059\u3079\u3066\u30ea\u30b9\u30c8\u306b\u3059\u308b\u3053\u3068\u304c\u826f\u3044\u3067\u3059\u3002\u305f\u3060\u3057\u3001\u79c1\u304c\u6ce8\u610f\u3057\u3066\u3044\u308b\u306e\u306f\u3001\u3059\u3079\u3066\u306eSpring\u3068Hibernate\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u4e92\u63db\u6027\u304c\u306a\u3044\u3053\u3068\u3067\u3059\u3002\u4e0b\u8a18\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u79c1\u306e\u5834\u5408\u52d5\u4f5c\u3057\u307e\u3057\u305f\u306e\u3067\u3001\u4e92\u63db\u6027\u304c\u3042\u308b\u3068\u8003\u3048\u3066\u3044\u307e\u3059\u3002\u4ed6\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u3066java.lang.NoClassDefFoundError\u304c\u767a\u751f\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u4e92\u63db\u6027\u304c\u306a\u3044\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u4e3b\u306bHibernate\u306e\u30af\u30e9\u30b9\u304c\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u79fb\u52d5\u306b\u3088\u3063\u3066\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3044\u308b\u305f\u3081\u3067\u3059\u3002\u305f\u3068\u3048\u3070\u3001\u6700\u65b0\u306eHibernate\u3067\u306forg.hibernate.engine.FilterDefinition\u30af\u30e9\u30b9\u304corg.hibernate.engine.spi.FilterDefinition\u306b\u79fb\u52d5\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul class=\"post-ul\">\n<li>Spring Framework Version: 4.0.3.RELEASE<\/li>\n<li>Hibernate Core and Hibernate EntityManager Version: 3.6.9.Final and 4.3.5.Final<\/li>\n<li>Spring ORM Version: 4.0.3.RELEASE<\/li>\n<\/ul>\n<h3>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7<\/h3>\n<p>\u79c1\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306fMySQL\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u4ee5\u4e0b\u306esetup.sql\u30b9\u30af\u30ea\u30d7\u30c8\u306f\u3053\u306e\u4f8b\u306b\u5fc5\u8981\u306a\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>CREATE TABLE `Person` (\r\n  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,\r\n  `name` varchar(20) NOT NULL DEFAULT '',\r\n  `country` varchar(20) DEFAULT NULL,\r\n  PRIMARY KEY (`id`)\r\n) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;\r\ncommit;\r\n<\/code><\/pre>\n<h3>\u30b9\u30d7\u30ea\u30f3\u30b0\u3068\u30cf\u30a4\u30d0\u30cd\u30fc\u30c8\u306e\u7d71\u5408\u306e\u4f8b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u69cb\u9020<\/h3>\n<p>\u4ee5\u4e0b\u306e\u753b\u50cf\u306f\u6700\u7d42\u7684\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u69cb\u9020\u3092\u793a\u3057\u3066\u304a\u308a\u3001\u79c1\u305f\u3061\u306f\u305d\u308c\u305e\u308c\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4e00\u3064\u305a\u3064\u898b\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<h3>Maven\u306e\u4f9d\u5b58\u95a2\u4fc2<\/h3>\n<p>\u6700\u521d\u306b\u3001\u5fc5\u8981\u306a\u4f9d\u5b58\u95a2\u4fc2\u3068\u305d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u3001pom.xml\u30d5\u30a1\u30a4\u30eb\u3092\u8abf\u3079\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>&lt;project xmlns=\"https:\/\/maven.apache.org\/POM\/4.0.0\" xmlns:xsi=\"https:\/\/www.w3.org\/2001\/XMLSchema-instance\"\r\n\txsi:schemaLocation=\"https:\/\/maven.apache.org\/POM\/4.0.0 https:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"&gt;\r\n\t&lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\r\n\t&lt;groupId&gt;org.springframework.samples&lt;\/groupId&gt;\r\n\t&lt;artifactId&gt;SpringHibernateExample&lt;\/artifactId&gt;\r\n\t&lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\r\n\r\n\t&lt;properties&gt;\r\n\r\n\t\t&lt;!-- Generic properties --&gt;\r\n\t\t&lt;java.version&gt;1.6&lt;\/java.version&gt;\r\n\t\t&lt;project.build.sourceEncoding&gt;UTF-8&lt;\/project.build.sourceEncoding&gt;\r\n\t\t&lt;project.reporting.outputEncoding&gt;UTF-8&lt;\/project.reporting.outputEncoding&gt;\r\n\r\n\t\t&lt;!-- Spring --&gt;\r\n\t\t&lt;spring-framework.version&gt;4.0.3.RELEASE&lt;\/spring-framework.version&gt;\r\n\r\n\t\t&lt;!-- Hibernate \/ JPA --&gt;\r\n\t\t&lt;!-- &lt;hibernate.version&gt;4.3.5.Final&lt;\/hibernate.version&gt; --&gt;\r\n\t\t&lt;hibernate.version&gt;3.6.9.Final&lt;\/hibernate.version&gt;\r\n\r\n\t\t&lt;!-- Logging --&gt;\r\n\t\t&lt;logback.version&gt;1.0.13&lt;\/logback.version&gt;\r\n\t\t&lt;slf4j.version&gt;1.7.5&lt;\/slf4j.version&gt;\r\n\r\n\t&lt;\/properties&gt;\r\n\r\n\t&lt;dependencies&gt;\r\n\t\t&lt;!-- Spring and Transactions --&gt;\r\n\t\t&lt;dependency&gt;\r\n\t\t\t&lt;groupId&gt;org.springframework&lt;\/groupId&gt;\r\n\t\t\t&lt;artifactId&gt;spring-context&lt;\/artifactId&gt;\r\n\t\t\t&lt;version&gt;${spring-framework.version}&lt;\/version&gt;\r\n\t\t&lt;\/dependency&gt;\r\n\t\t&lt;dependency&gt;\r\n\t\t\t&lt;groupId&gt;org.springframework&lt;\/groupId&gt;\r\n\t\t\t&lt;artifactId&gt;spring-tx&lt;\/artifactId&gt;\r\n\t\t\t&lt;version&gt;${spring-framework.version}&lt;\/version&gt;\r\n\t\t&lt;\/dependency&gt;\r\n\r\n\t\t&lt;!-- Spring ORM support --&gt;\r\n\t\t&lt;dependency&gt;\r\n\t\t\t&lt;groupId&gt;org.springframework&lt;\/groupId&gt;\r\n\t\t\t&lt;artifactId&gt;spring-orm&lt;\/artifactId&gt;\r\n\t\t\t&lt;version&gt;${spring-framework.version}&lt;\/version&gt;\r\n\t\t&lt;\/dependency&gt;\r\n\r\n\t\t&lt;!-- Logging with SLF4J &amp; LogBack --&gt;\r\n\t\t&lt;dependency&gt;\r\n\t\t\t&lt;groupId&gt;org.slf4j&lt;\/groupId&gt;\r\n\t\t\t&lt;artifactId&gt;slf4j-api&lt;\/artifactId&gt;\r\n\t\t\t&lt;version&gt;${slf4j.version}&lt;\/version&gt;\r\n\t\t\t&lt;scope&gt;compile&lt;\/scope&gt;\r\n\t\t&lt;\/dependency&gt;\r\n\t\t&lt;dependency&gt;\r\n\t\t\t&lt;groupId&gt;ch.qos.logback&lt;\/groupId&gt;\r\n\t\t\t&lt;artifactId&gt;logback-classic&lt;\/artifactId&gt;\r\n\t\t\t&lt;version&gt;${logback.version}&lt;\/version&gt;\r\n\t\t\t&lt;scope&gt;runtime&lt;\/scope&gt;\r\n\t\t&lt;\/dependency&gt;\r\n\r\n\t\t&lt;!-- Hibernate --&gt;\r\n\t\t&lt;dependency&gt;\r\n\t\t\t&lt;groupId&gt;org.hibernate&lt;\/groupId&gt;\r\n\t\t\t&lt;artifactId&gt;hibernate-entitymanager&lt;\/artifactId&gt;\r\n\t\t\t&lt;version&gt;${hibernate.version}&lt;\/version&gt;\r\n\t\t&lt;\/dependency&gt;\r\n\t\t&lt;dependency&gt;\r\n\t\t\t&lt;groupId&gt;org.hibernate&lt;\/groupId&gt;\r\n\t\t\t&lt;artifactId&gt;hibernate-core&lt;\/artifactId&gt;\r\n\t\t\t&lt;version&gt;${hibernate.version}&lt;\/version&gt;\r\n\t\t&lt;\/dependency&gt;\r\n\r\n\t\t&lt;dependency&gt;\r\n\t\t\t&lt;groupId&gt;mysql&lt;\/groupId&gt;\r\n\t\t\t&lt;artifactId&gt;mysql-connector-java&lt;\/artifactId&gt;\r\n\t\t\t&lt;version&gt;5.1.9&lt;\/version&gt;\r\n\t\t&lt;\/dependency&gt;\r\n\t\t&lt;dependency&gt;\r\n\t\t\t&lt;groupId&gt;commons-dbcp&lt;\/groupId&gt;\r\n\t\t\t&lt;artifactId&gt;commons-dbcp&lt;\/artifactId&gt;\r\n\t\t\t&lt;version&gt;1.4&lt;\/version&gt;\r\n\t\t&lt;\/dependency&gt;\r\n\t&lt;\/dependencies&gt;\r\n&lt;\/project&gt;\r\n<\/code><\/pre>\n<p>Spring\u3068Hibernate\u306e\u7d71\u5408\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u306f\u3001\u91cd\u8981\u306a\u4f9d\u5b58\u95a2\u4fc2\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<ul class=\"post-ul\">\n<li>spring-context and spring-tx for core Spring functionalities. Notice that I am using version 4.0.3.RELEASE.<\/li>\n<li>spring-orm dependency for Spring ORM support, it\u2019s required for hibernate integration in our spring project.<\/li>\n<li>hibernate-entitymanager and hibernate-core dependencies for Hibernate framework. Notice that version is 3.6.9.Final, for using Hibernate 4 all we need is to change it to 4.3.5.Final as commented in above pom.xml file.<\/li>\n<li>mysql-connector-java for MySQL driver for database connection.<\/li>\n<\/ul>\n<h3>\u30e2\u30c7\u30eb\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u30d3\u30fc\u30f3<\/h3>\n<p>\u79c1\u305f\u3061\u306fHibernate\u306eXML\u30d9\u30fc\u30b9\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u3001\u304a\u3088\u3073JPA\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u306e\u4e21\u65b9\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001Hibernate\u304cJPA\u306e\u5b9f\u88c5\u3092\u63d0\u4f9b\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u30de\u30c3\u30d4\u30f3\u30b0\u306b\u306fJPA\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>package com.scdev.model;\r\n\r\nimport javax.persistence.Column;\r\nimport javax.persistence.Entity;\r\nimport javax.persistence.GeneratedValue;\r\nimport javax.persistence.GenerationType;\r\nimport javax.persistence.Id;\r\nimport javax.persistence.Table;\r\n\r\n\/**\r\n * Entity bean with JPA annotations\r\n * Hibernate provides JPA implementation\r\n * @author scdev\r\n *\r\n *\/\r\n@Entity\r\n@Table(name=\"Person\")\r\npublic class Person {\r\n\r\n\t@Id\r\n\t@Column(name=\"id\")\r\n\t@GeneratedValue(strategy=GenerationType.IDENTITY)\r\n\tprivate int id;\r\n\t\r\n\tprivate String name;\r\n\t\r\n\tprivate String country;\r\n\r\n\tpublic int getId() {\r\n\t\treturn id;\r\n\t}\r\n\r\n\tpublic void setId(int id) {\r\n\t\tthis.id = id;\r\n\t}\r\n\r\n\tpublic String getName() {\r\n\t\treturn name;\r\n\t}\r\n\r\n\tpublic void setName(String name) {\r\n\t\tthis.name = name;\r\n\t}\r\n\r\n\tpublic String getCountry() {\r\n\t\treturn country;\r\n\t}\r\n\r\n\tpublic void setCountry(String country) {\r\n\t\tthis.country = country;\r\n\t}\r\n\t\r\n\t@Override\r\n\tpublic String toString(){\r\n\t\treturn \"id=\"+id+\", name=\"+name+\", country=\"+country;\r\n\t}\r\n}\r\n<\/code><\/pre>\n<h3>DAO\u30af\u30e9\u30b9<\/h3>\n<p>\u79c1\u305f\u3061\u306fDAO\u30af\u30e9\u30b9\u306b2\u3064\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u5b9f\u88c5\u3057\u307e\u3059\u30021\u3064\u76ee\u306fPerson\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u30c6\u30fc\u30d6\u30eb\u306b\u4fdd\u5b58\u3059\u308b\u3082\u306e\u3067\u3042\u308a\u30012\u3064\u76ee\u306f\u30c6\u30fc\u30d6\u30eb\u304b\u3089\u3059\u3079\u3066\u306e\u30ec\u30b3\u30fc\u30c9\u3092\u53d6\u5f97\u3057\u3001Person\u306e\u30ea\u30b9\u30c8\u3092\u8fd4\u3059\u3082\u306e\u3067\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>package com.scdev.dao;\r\n\r\nimport java.util.List;\r\n\r\nimport com.scdev.model.Person;\r\n\r\npublic interface PersonDAO {\r\n\r\n\tpublic void save(Person p);\r\n\t\r\n\tpublic List&lt;Person&gt; list();\r\n\t\r\n}\r\n<\/code><\/pre>\n<p>\u4e0a\u8a18\u306eDAO\u30af\u30e9\u30b9\u306e\u5b9f\u88c5\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>package com.scdev.dao;\r\n\r\nimport java.util.List;\r\n\r\nimport org.hibernate.Session;\r\nimport org.hibernate.SessionFactory;\r\nimport org.hibernate.Transaction;\r\n\r\nimport com.scdev.model.Person;\r\n\r\npublic class PersonDAOImpl implements PersonDAO {\r\n\r\n\tprivate SessionFactory sessionFactory;\r\n\r\n    public void setSessionFactory(SessionFactory sessionFactory) {\r\n        this.sessionFactory = sessionFactory;\r\n    }\r\n    \r\n\t@Override\r\n\tpublic void save(Person p) {\r\n\t\tSession session = this.sessionFactory.openSession();\r\n\t\tTransaction tx = session.beginTransaction();\r\n\t\tsession.persist(p);\r\n\t\ttx.commit();\r\n\t\tsession.close();\r\n\t}\r\n\r\n\t@SuppressWarnings(\"unchecked\")\r\n\t@Override\r\n\tpublic List&lt;Person&gt; list() {\r\n\t\tSession session = this.sessionFactory.openSession();\r\n\t\tList&lt;Person&gt; personList = session.createQuery(\"from Person\").list();\r\n\t\tsession.close();\r\n\t\treturn personList;\r\n\t}\r\n\r\n}\r\n<\/code><\/pre>\n<p>\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3001\u3053\u3053\u306fHibernate\u95a2\u9023\u306e\u30af\u30e9\u30b9\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u552f\u4e00\u306e\u5834\u6240\u3067\u3059\u3002\u3053\u306e\u30d1\u30bf\u30fc\u30f3\u306b\u3088\u308a\u3001\u79c1\u305f\u3061\u306e\u5b9f\u88c5\u306f\u67d4\u8edf\u3067\u3001\u4ed6\u306e\u30c6\u30af\u30ce\u30ed\u30b8\u30fc\u306b\u79fb\u884c\u3057\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001iBatis ORM\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u4f7f\u7528\u3057\u305f\u3044\u5834\u5408\u3001iBatis\u306eDAO\u5b9f\u88c5\u3092\u63d0\u4f9b\u3057\u3001Spring\u306e\u30d3\u30fc\u30f3\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u5909\u66f4\u3059\u308b\u3060\u3051\u3067\u6e08\u307f\u307e\u3059\u3002\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001Hibernate\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u7ba1\u7406\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u304c\u3001Spring\u306e\u5ba3\u8a00\u7684\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u7ba1\u7406\uff08@Transactional\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\uff09\u3082\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u8a73\u3057\u304f\u306fSpring\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u7ba1\u7406\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002<\/p>\n<h3>Hibernate 3\u306e\u7d71\u5408\u306e\u305f\u3081\u306eSpring Bean\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb<\/h3>\n<p>\u307e\u305a\u306f\u3001Hibernate 3 \u306e\u7d71\u5408\u306b\u5fc5\u8981\u306a\u30b9\u30d7\u30ea\u30f3\u30b0\u30d3\u30fc\u30f3\u306e\u8a2d\u5b9a\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u5f8c\u3067\u8a73\u7d30\u306b\u8abf\u3079\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;beans xmlns=\"https:\/\/www.springframework.org\/schema\/beans\"\r\n\txmlns:xsi=\"https:\/\/www.w3.org\/2001\/XMLSchema-instance\" xmlns:aop=\"https:\/\/www.springframework.org\/schema\/aop\"\r\n\txmlns:tx=\"https:\/\/www.springframework.org\/schema\/tx\"\r\n\txsi:schemaLocation=\"https:\/\/www.springframework.org\/schema\/beans https:\/\/www.springframework.org\/schema\/beans\/spring-beans.xsd\r\n\t\thttps:\/\/www.springframework.org\/schema\/aop https:\/\/www.springframework.org\/schema\/aop\/spring-aop-4.0.xsd\r\n\t\thttps:\/\/www.springframework.org\/schema\/tx https:\/\/www.springframework.org\/schema\/tx\/spring-tx-4.0.xsd\"&gt;\r\n\r\n\t&lt;bean id=\"dataSource\" class=\"org.apache.commons.dbcp.BasicDataSource\"\r\n\t\tdestroy-method=\"close\"&gt;\r\n\t\t&lt;property name=\"driverClassName\" value=\"com.mysql.jdbc.Driver\" \/&gt;\r\n\t\t&lt;property name=\"url\" value=\"jdbc:mysql:\/\/localhost:3306\/TestDB\" \/&gt;\r\n\t\t&lt;property name=\"username\" value=\"scdev\" \/&gt;\r\n\t\t&lt;property name=\"password\" value=\"scdev123\" \/&gt;\r\n\t&lt;\/bean&gt;\r\n\r\n&lt;!-- Hibernate 3 XML SessionFactory Bean definition--&gt;\r\n&lt;!-- \t&lt;bean id=\"hibernate3SessionFactory\"\r\n\t\tclass=\"org.springframework.orm.hibernate3.LocalSessionFactoryBean\"&gt;\r\n\t\t&lt;property name=\"dataSource\" ref=\"dataSource\" \/&gt;\r\n\t\t&lt;property name=\"mappingResources\"&gt;\r\n\t\t\t&lt;list&gt;\r\n\t\t\t\t&lt;value&gt;person.hbm.xml&lt;\/value&gt;\r\n\t\t\t&lt;\/list&gt;\r\n\t\t&lt;\/property&gt;\r\n\t\t&lt;property name=\"hibernateProperties\"&gt;\r\n\t\t\t&lt;value&gt;\r\n\t\t\t\thibernate.dialect=org.hibernate.dialect.MySQLDialect\r\n\t\t\t&lt;\/value&gt;\r\n\t\t&lt;\/property&gt;\r\n\t&lt;\/bean&gt; --&gt;\r\n\r\n&lt;!-- Hibernate 3 Annotation SessionFactory Bean definition--&gt;\r\n\t&lt;bean id=\"hibernate3AnnotatedSessionFactory\"\r\n\t\tclass=\"org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean\"&gt;\r\n\t\t&lt;property name=\"dataSource\" ref=\"dataSource\" \/&gt;\r\n\t\t&lt;property name=\"annotatedClasses\"&gt;\r\n\t\t\t&lt;list&gt;\r\n\t\t\t\t&lt;value&gt;com.scdev.model.Person&lt;\/value&gt;\r\n\t\t\t&lt;\/list&gt;\r\n\t\t&lt;\/property&gt;\r\n\t\t&lt;property name=\"hibernateProperties\"&gt;\r\n\t\t\t&lt;props&gt;\r\n\t\t\t\t&lt;prop key=\"hibernate.dialect\"&gt;org.hibernate.dialect.MySQLDialect&lt;\/prop&gt;\r\n\t\t\t\t&lt;prop key=\"hibernate.current_session_context_class\"&gt;thread&lt;\/prop&gt;\r\n\t\t\t\t&lt;prop key=\"hibernate.show_sql\"&gt;false&lt;\/prop&gt;\r\n\t\t\t&lt;\/props&gt;\r\n\t\t&lt;\/property&gt;\r\n\t&lt;\/bean&gt;\r\n\t\r\n\t&lt;bean id=\"personDAO\" class=\"com.scdev.dao.PersonDAOImpl\"&gt;\r\n\t\t&lt;property name=\"sessionFactory\" ref=\"hibernate3AnnotatedSessionFactory\" \/&gt;\r\n\t&lt;\/bean&gt;\r\n&lt;\/beans&gt;\r\n<\/code><\/pre>\n<p>Hibernate\u306b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306e\u8a73\u7d30\u3092\u63d0\u4f9b\u3059\u308b\u65b9\u6cd5\u306f2\u3064\u3042\u308a\u307e\u3059\u30021\u3064\u76ee\u306f\u3001hibernateProperties\u306b\u3059\u3079\u3066\u3092\u6e21\u3057\u30012\u3064\u76ee\u306fDataSource\u3092\u4f5c\u6210\u3057\u3001\u305d\u308c\u3092Hibernate\u306b\u6e21\u3059\u3053\u3068\u3067\u3059\u3002\u79c1\u306f2\u756a\u76ee\u306e\u65b9\u6cd5\u3092\u597d\u307f\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001Apache Commons DBCP\u4f9d\u5b58\u95a2\u4fc2\u3092\u4f7f\u7528\u3057\u3066\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8a2d\u5b9a\u3057\u3066BasicDataSource\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002Spring\u3068Hibernate 3\u306e\u7d71\u5408\u3067\u306f\u30012\u3064\u306e\u30af\u30e9\u30b9\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u30021\u3064\u306fXML\u30d9\u30fc\u30b9\u306eHibernate\u30de\u30c3\u30d4\u30f3\u30b0\u306e\u5834\u5408\u306eorg.springframework.orm.hibernate3.LocalSessionFactoryBean\u3001\u3082\u30461\u3064\u306f\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u306e\u5834\u5408\u306eorg.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean\u3067\u3059\u3002\u79c1\u306f\u30b3\u30e1\u30f3\u30c8\u306bLocalSessionFactoryBean\u306e\u30b7\u30f3\u30d7\u30eb\u306aBean\u8a2d\u5b9a\u3092\u63d0\u4f9b\u3057\u307e\u3057\u305f\u306e\u3067\u3001XML\u30d9\u30fc\u30b9\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u3054\u89a7\u304f\u3060\u3055\u3044\u3002AnnotationSessionFactoryBean\u306fLocalSessionFactoryBean\u30af\u30e9\u30b9\u3092\u62e1\u5f35\u3057\u3066\u304a\u308a\u3001Hibernate\u306e\u7d71\u5408\u306b\u5fc5\u8981\u306a\u57fa\u672c\u7684\u306a\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u3059\u3079\u3066\u6301\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u306f\u81ea\u5df1\u8a8d\u8b58\u578b\u3067\u3042\u308a\u3001\u5927\u90e8\u5206\u306fHibernate\u306b\u95a2\u9023\u3059\u308b\u3082\u306e\u3067\u3059\u306e\u3067\u3001\u8a73\u7d30\u306b\u306f\u89e6\u308c\u307e\u305b\u3093\u3002\u305f\u3060\u3057\u3001hibernateProperties\u3084annotatedClasses\u304c\u3069\u3053\u304b\u3089\u6765\u3066\u3044\u308b\u306e\u304b\u7591\u554f\u306b\u601d\u3063\u3066\u3044\u308b\u5834\u5408\u306f\u3001bean\u30af\u30e9\u30b9\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u898b\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002personDAO\u306ebean\u5b9a\u7fa9\u306b\u6ce8\u76ee\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u524d\u8ff0\u3057\u305f\u3088\u3046\u306b\u3001\u4ed6\u306eORM\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306b\u5207\u308a\u66ff\u3048\u308b\u5834\u5408\u306f\u3001\u3053\u3053\u3067\u5b9f\u88c5\u30af\u30e9\u30b9\u3092\u5909\u66f4\u3057\u3001\u5fc5\u8981\u306a\u4ed6\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h3>\u6625\u306e4\u3064\u306e\u30cf\u30a4\u30d0\u30cd\u30fc\u30c83\u306e\u30c6\u30b9\u30c8\u30d7\u30ed\u30b0\u30e9\u30e0<\/h3>\n<p>\u79c1\u305f\u3061\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306f\u6e96\u5099\u5b8c\u4e86\u3067\u3059\u306e\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30c6\u30b9\u30c8\u3059\u308b\u305f\u3081\u306b\u7c21\u5358\u306a\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u66f8\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre class=\"post-pre\"><code>package com.scdev.main;\r\n\r\nimport java.util.List;\r\n\r\nimport org.springframework.context.support.ClassPathXmlApplicationContext;\r\n\r\nimport com.scdev.dao.PersonDAO;\r\nimport com.scdev.model.Person;\r\n\r\npublic class SpringHibernateMain {\r\n\r\n\tpublic static void main(String[] args) {\r\n\r\n\t\tClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(\"spring.xml\");\r\n\t\t\r\n\t\tPersonDAO personDAO = context.getBean(PersonDAO.class);\r\n\t\t\r\n\t\tPerson person = new Person();\r\n\t\tperson.setName(\"Pankaj\"); person.setCountry(\"India\");\r\n\t\t\r\n\t\tpersonDAO.save(person);\r\n\t\t\r\n\t\tSystem.out.println(\"Person::\"+person);\r\n\t\t\r\n\t\tList&lt;Person&gt; list = personDAO.list();\r\n\t\t\r\n\t\tfor(Person p : list){\r\n\t\t\tSystem.out.println(\"Person List::\"+p);\r\n\t\t}\r\n\t\t\/\/close resources\r\n\t\tcontext.close();\t\r\n\t}\r\n}\r\n<\/code><\/pre>\n<p>\u4e0a\u8a18\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001Hibernate\u306b\u95a2\u9023\u3059\u308b\u591a\u304f\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002\u30ed\u30b0\u306e\u8a2d\u5b9a\u304c\u9069\u5207\u306b\u884c\u308f\u308c\u3066\u3044\u306a\u3044\u305f\u3081\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u3053\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u7bc4\u56f2\u5916\u3067\u3059\u3002\u305f\u3060\u3057\u3001\u6b21\u306e\u51fa\u529b\u304c\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>Person::id=3, name=Pankaj, country=India\r\nPerson List::id=1, name=Pankaj, country=India\r\nPerson List::id=2, name=Pankaj, country=India\r\nPerson List::id=3, name=Pankaj, country=India\r\n<\/code><\/pre>\n<h3>\u30b9\u30d7\u30ea\u30f3\u30b04\u3068\u30cf\u30a4\u30d0\u30cd\u30a4\u30c84\u306e\u7d71\u5408\u306e\u5909\u66f4<\/h3>\n<p>\u4eca\u5ea6\u306f\u3001Hibernate 3\u3067\u306f\u306a\u304fHibernate 4\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306b\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5909\u66f4\u3057\u307e\u3057\u3087\u3046\u3002\u3053\u306e\u79fb\u884c\u3067\u306f\u3001\u4ee5\u4e0b\u306e\u8a2d\u5b9a\u5909\u66f4\u306e\u307f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>pom.xml \u30d5\u30a1\u30a4\u30eb\u3067 Hibernate \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092 4.3.5.Final \u306b\u5909\u66f4\u3057\u307e\u3059\u3002\u30b3\u30e1\u30f3\u30c8\u306e\u4e0a\u306b\u793a\u3055\u308c\u3066\u3044\u308b\u901a\u308a\u3067\u3059\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>Spring \u30d3\u30fc\u30f3\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u3053\u307e\u3067\u306b Spring \u30d3\u30fc\u30f3\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c Spring \u3068 Hibernate \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u9023\u643a\u306e\u9375\u3067\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u3063\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002\u4ee5\u4e0b\u306e Spring \u30d3\u30fc\u30f3\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306f\u3001Spring 4 \u304a\u3088\u3073 Hibernate 4 \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><!--?xml version=\"1.0\" encoding=\"UTF-8\"?--><\/p>\n<p>&nbsp;<\/p>\n<p><!-- Hibernate 4 \u306e SessionFactory \u30d3\u30fc\u30f3\u5b9a\u7fa9 --><\/p>\n<p>com.scdev.model.Person<br \/>\norg.hibernate.dialect.MySQLDialectthreadfalse<\/p>\n<p>&nbsp;<\/p>\n<p>Hibernate 4 \u3067\u306f\u3001SessionFactory \u30d3\u30fc\u30f3\u306b org.springframework.orm.hibernate4.LocalSessionFactoryBean \u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002Spring ORM \u306f Hibernate 3 \u306e\u4e21\u65b9\u306e\u30af\u30e9\u30b9\u3092\u7d71\u5408\u3057\u3001\u73fe\u5728\u306f\u5358\u4e00\u306e\u30af\u30e9\u30b9\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u6df7\u4e71\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u826f\u3044\u3067\u3059\u3002\u305d\u306e\u4ed6\u306e\u8a2d\u5b9a\u306f\u4ee5\u524d\u3068\u540c\u3058\u3067\u3059\u3002<\/p>\n<p>\u305d\u308c\u3067\u3001\u79c1\u305f\u3061\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306f\u6210\u529f\u88cf\u306bHibernate 4\u3078\u79fb\u884c\u3057\u307e\u3057\u305f\u306d\u3001\u304d\u308c\u3044\u3067\u3059\u3088\u306d\u3002\u5358\u306bSpringHibernateMain\u30af\u30e9\u30b9\u3092\u5909\u66f4\u3057\u3066\u3001spring4.xml\u3092\u4f7f\u7528\u3057\u305f\u30d3\u30fc\u30f3\u306e\u8a2d\u5b9a\u306b\u3059\u308b\u3060\u3051\u3067\u3001\u4ee5\u524d\u3068\u540c\u3058\u51fa\u529b\u7d50\u679c\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6700\u7d42\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306f\u4ee5\u4e0b\u306e\u30ea\u30f3\u30af\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3001\u3055\u3089\u306b\u8a2d\u5b9a\u3092\u8a66\u3057\u3066\u5b66\u3076\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>Spring Hibernate \u7d71\u5408\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30b9\u30d7\u30ea\u30f3\u30b0\u306f\u6700\u3082\u4f7f\u7528\u3055\u308c\u308bJava EE\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u3046\u3061\u306e1\u3064\u3067\u3042\u308a\u3001\u30cf\u30a4\u30d0\u30cd\u30a4\u30c8\u306f\u6700\u3082\u4eba\u6c17\u306e\u3042\u308bORM\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u30b9\u30d7\u30ea\u30f3\u30b0\u3068\u30cf\u30a4\u30d0\u30cd\u30a4\u30c8\u306e\u7d44\u307f\u5408\u308f\u305b\u306f\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3088\u304f\u4f7f\u7528\u3055 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[26,61],"class_list":["post-697","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-26","tag-61"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3002 - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/ja\/blog\/\u4ee5\u4e0b\u306f\u300cspring-hibernate-\u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3002\" \/>\n<meta property=\"og:description\" content=\"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/ja\/blog\/\u4ee5\u4e0b\u306f\u300cspring-hibernate-\u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-17T11:10:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T16:44:25+00:00\" \/>\n<meta name=\"author\" content=\"\u967d, \u5411\u5b87\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u967d, \u5411\u5b87\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"30\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/\",\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/\",\"name\":\"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3002 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#website\"},\"datePublished\":\"2022-12-17T11:10:57+00:00\",\"dateModified\":\"2025-07-31T16:44:25+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4aef6196128551a0f5d66db46c42866c\"},\"description\":\"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/ja\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3002\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4aef6196128551a0f5d66db46c42866c\",\"name\":\"\u967d, \u5411\u5b87\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ad96b120e219751fa368cbd7d2c48ca01b59185e6ed394449bac72614a760bf3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ad96b120e219751fa368cbd7d2c48ca01b59185e6ed394449bac72614a760bf3?s=96&d=mm&r=g\",\"caption\":\"\u967d, \u5411\u5b87\"},\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/author\/hinatasora\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3002 - Blog - Silicon Cloud","description":"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/ja\/blog\/\u4ee5\u4e0b\u306f\u300cspring-hibernate-\u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\/","og_locale":"ja_JP","og_type":"article","og_title":"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3002","og_description":"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","og_url":"https:\/\/www.silicloud.com\/ja\/blog\/\u4ee5\u4e0b\u306f\u300cspring-hibernate-\u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2022-12-17T11:10:57+00:00","article_modified_time":"2025-07-31T16:44:25+00:00","author":"\u967d, \u5411\u5b87","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"\u967d, \u5411\u5b87","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"30\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/","url":"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/","name":"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3002 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/#website"},"datePublished":"2022-12-17T11:10:57+00:00","dateModified":"2025-07-31T16:44:25+00:00","author":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4aef6196128551a0f5d66db46c42866c"},"description":"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/ja\/blog\/"},{"@type":"ListItem","position":2,"name":"\u4ee5\u4e0b\u306f\u300cSpring Hibernate \u306e\u9023\u643a\u306e\u4f8b\u306b\u3064\u3044\u3066\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u300d\u3067\u3059\uff08Spring 4 + Hibernate 3 \u304a\u3088\u3073 Hibernate 4\uff09\u3002"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#website","url":"https:\/\/www.silicloud.com\/ja\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/4aef6196128551a0f5d66db46c42866c","name":"\u967d, \u5411\u5b87","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ad96b120e219751fa368cbd7d2c48ca01b59185e6ed394449bac72614a760bf3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ad96b120e219751fa368cbd7d2c48ca01b59185e6ed394449bac72614a760bf3?s=96&d=mm&r=g","caption":"\u967d, \u5411\u5b87"},"url":"https:\/\/www.silicloud.com\/ja\/blog\/author\/hinatasora\/"},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.silicloud.com\/ja\/blog\/%e4%bb%a5%e4%b8%8b%e3%81%af%e3%80%8cspring-hibernate-%e3%81%ae%e9%80%a3%e6%90%ba%e3%81%ae%e4%be%8b%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/comments?post=697"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/697\/revisions"}],"predecessor-version":[{"id":43871,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/697\/revisions\/43871"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/media?parent=697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/categories?post=697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/tags?post=697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}