質問編集履歴

5 ソースコードの修正

Linkey

Linkey score 41

2017/04/20 01:15  投稿

hibernateを使ったレコード挿入ができない
Eclipseを使ってJavaのWebアプリケーションを開発しています。
Hibernateを使ってDBのテーブルにレコードを挿入しようとしましたが
以下のエラーが出力されました。
![コンソール](b423dec3f381132ca9d13a462f27fb7f.png)
persistence.xmlの設定が間違っているのでしょうか?それともEntityクラスの設定が間違っているのでしょうか?ソースコードを見ていただきどこが正しくないのかご回答いただきたいです。なるべき発生した内容を詳細化するために作成したソースコードやエラーメッセージを記載しています。そのため大変見づらくなっております。申し訳ありませんがhibernateのプログラムに詳しい方や別の実装方法を思いついた方等いらっしゃいましたらご回答いただけますでしょうか?よろしくお願いいたします。
```java
package util.util;
import java.sql.Timestamp;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import util.entity.UserOperationHistroyEntity;
public class OperationUserProcessing {
   private EntityManager em;
   public void operation(String operation_code, String ipAddress, String sessionId) {
       em = Persistence.createEntityManagerFactory("restaurant").createEntityManager();
       EntityTransaction tx = em.getTransaction();
       Timestamp timestamp = new Timestamp(System.currentTimeMillis());
           tx.begin();
           UserOperationHistroyEntity uohe = new UserOperationHistroyEntity("customer_id1234",ipAddress,sessionId);
           uohe.setSession_status(2);
           uohe.setOperation_code(operation_code);
           uohe.setOperation_status("Completed ");
           uohe.setRegister_time(timestamp);
           uohe.setRegister_user("test");
           uohe.setSession_status(0);
           uohe.setUpdate_time(timestamp);
           uohe.setUpdate_user("user");
           em.persist(uohe);
           System.out.println("レコード挿入ができました");
       tx.commit();
       em.close();
   }
}
```
```java
package util.entity;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "user_operation_history")
public class UserOperationHistroyEntity implements Serializable {
   @Embedded
   UserOperationHistoryPKEntity pk;
   public UserOperationHistroyEntity(String customer_id, String ipAddress, String sessionId){
       pk.setCustomer_id(customer_id);
       pk.setIp_address(ipAddress);
       pk.setSession_id(sessionId);
   }
   @Column(name = "session_status")
   private int session_status;
   @Column(name = "operation_code")
   private String operation_code;
   @Column(name = "operation_status")
   private String operation_status;
   @Column(name = "register_user")
   private String register_user;
   @Column(name = "register_time")
   private Timestamp register_time;
   @Column(name = "update_user")
   private String update_user;
   @Column(name = "update_time")
   private Timestamp update_time;
   @Column(name = "last_login_time")  
   private Timestamp last_login_time;  
 
   public UserOperationHistroyEntity() {}
   public int getSession_status() {
       return session_status;
   }
   public void setSession_status(int session_status) {
       this.session_status = session_status;
   }
   public String getOperation_code() {
       return operation_code;
   }
   public void setOperation_code(String operation_code) {
       this.operation_code = operation_code;
   }
   public String getOperation_status() {
       return operation_status;
   }
   public void setOperation_status(String operation_status) {
       this.operation_status = operation_status;
   }
   public String getRegister_user() {
       return register_user;
   }
   public void setRegister_user(String register_user) {
       this.register_user = register_user;
   }
   public Timestamp getRegister_time() {
       return register_time;
   }
   public void setRegister_time(Timestamp register_time) {
       this.register_time = register_time;
   }
   public String getUpdate_user() {
       return update_user;
   }
   public void setUpdate_user(String update_user) {
       this.update_user = update_user;
   }
   public Timestamp getUpdate_time() {
       return update_time;
   }
   public void setUpdate_time(Timestamp update_time) {
       this.update_time = update_time;
   }
   public Timestamp getLast_login_time() {  
       return last_login_time;  
   }  
 
   public void setLast_login_time(Timestamp last_login_time) {  
       this.last_login_time = last_login_time;  
   }  
}
```
```java
package util.entity;
import javax.persistence.Column;
import javax.persistence.Embeddable;
@Embeddable
public class UserOperationHistoryPKEntity {
   @Column
   private String customer_id;
   @Column
   private String ip_address;
   @Column
   private String session_id;
   public String getCustomer_id() {
       return customer_id;
   }
   public void setCustomer_id(String customer_id) {
       this.customer_id = customer_id;
   }
   public String getIp_address() {
       return ip_address;
   }
   public void setIp_address(String ip_address) {
       this.ip_address = ip_address;
   }
   public String getSession_id() {
       return session_id;
   }
   public void setSession_id(String session_id) {
       this.session_id = session_id;
   }
}
```
```xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
 version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
 <!-- MySQL + TOMCAT-->
 <!--<persistence-unit name="restaurant" transaction-type="RESOURCE_LOCAL">-->
 <persistence-unit name="restaurant">
 <provider>org.hibernate.ejb.HibernatePersistence</provider>
   <exclude-unlisted-classes>false</exclude-unlisted-classes>
   <properties>
   <!-- DAOS -->
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
     <property name="javax.persistence.jdbc.url"   value="jdbc:mysql://localhost:3306/restaurant?useSSL=false" />
     <property name="javax.persistence.jdbc.user" value="administrator" />
     <property name="javax.persistence.jdbc.password" value="password" />
   <!-- Configuration-->
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
     <property name="hibernate.hbm2ddl.auto" value="update"/>
     <property name="hibernate.show_sql" value="true"/>
     <property name="hibernate.format_sql" value="true"/>
     <property name="hibernate.archive.autodetection" value="class"/>
   </properties>
 </persistence-unit>
 <!-- JUnit MYSQL -->
   <persistence-unit name="restaurant">
   <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
   <properties>
       <property name="hibernate.connection.driver_class" value="com.mysql.jdbcDriver"/>
       <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
       <property name="hibernate.connection.release_mode" value="after_transaction"/>
       <property name="hibernate.connection.username" value="administrator"/>
       <property name="hibernate.connection.password" value="password"/>
       <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/restaurant?useSSL=false"/>
   </properties>
   </persistence-unit>
</persistence>!
```
![エラー発生](a1fb6955f8ead8776a60257b944c5a08.png)
![MySQL](20163db95ec6c2bda43f001094402c1a.png)
  • Java

    17365 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • XML

    816 questions

    XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

4 説明の補足と画像を追加

Linkey

Linkey score 41

2017/04/02 14:00  投稿

hibernateでレコード挿入ができない
hibernateを使ったレコード挿入ができない
Eclipseを使ってJavaのWebアプリケーションを開発しています。
Hibernateを使ってDBのテーブルにレコードを挿入しようとしましたが
以下のエラーが出力されました。
情報: Server startup in 5294 ms [日 4 02 13:06:44 JST 2017]
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [日 4 02 13:06:49 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [日 4 02 13:06:49 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [日 4 02 13:06:49 JST 2017]
INFO: HHH000204: Processing PersistenceUnitInfo [
   name: restaurant
   ...] [日 4 02 13:06:50 JST 2017]
INFO: HHH000412: Hibernate Core {4.3.0.Final} [日 4 02 13:06:50 JST 2017]
INFO: HHH000206: hibernate.properties not found [日 4 02 13:06:50 JST 2017]
INFO: HHH000021: Bytecode provider name : javassist [日 4 02 13:06:50 JST 2017]
INFO: HCANN000001: Hibernate Commons Annotations {4.0.4.Final} [日 4 02 13:06:50 JST 2017]
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!) [日 4 02 13:06:50 JST 2017]
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/restaurant?useSSL=false] [日 4 02 13:06:50 JST 2017]
INFO: HHH000046: Connection properties: {user=administrator, password=****} [日 4 02 13:06:50 JST 2017]
INFO: HHH000006: Autocommit mode: false [日 4 02 13:06:50 JST 2017]
INFO: HHH000115: Hibernate connection pool size: 20 (min=1) [日 4 02 13:06:50 JST 2017]
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect [日 4 02 13:06:51 JST 2017]
重大: サーブレット ResistrationServlet のServlet.service()が例外を投げました [日 4 02 13:06:51 JST 2017]
persistence.xmlの設定が間違っているのでしょうか?それともEntityクラスの設定が間違っているのでしょうか?ソースコードを見ていただきどこが正しくないのかご回答いただきたいです。なるべき発生した内容を詳細化するために作成したソースコードやエラーメッセージを記載しているため大変見づらくなっております。hibernateのプログラムに詳しい方や別の実装方法を思いついた方等いらっしゃいましたらご回答いただけますでしょうか?よろしくお願いいたします。
![コンソール](b423dec3f381132ca9d13a462f27fb7f.png)
persistence.xmlの設定が間違っているのでしょうか?それともEntityクラスの設定が間違っているのでしょうか?ソースコードを見ていただきどこが正しくないのかご回答いただきたいです。なるべき発生した内容を詳細化するために作成したソースコードやエラーメッセージを記載しています。そのため大変見づらくなっております。申し訳ありませんがhibernateのプログラムに詳しい方や別の実装方法を思いついた方等いらっしゃいましたらご回答いただけますでしょうか?よろしくお願いいたします。
```java
package util.util;
import java.sql.Timestamp;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import util.entity.UserOperationHistroyEntity;
public class OperationUserProcessing {
   private EntityManager em;
   public void operation(String operation_code, String ipAddress, String sessionId) {
       em = Persistence.createEntityManagerFactory("restaurant").createEntityManager();
       EntityTransaction tx = em.getTransaction();
       Timestamp timestamp = new Timestamp(System.currentTimeMillis());
           tx.begin();
           UserOperationHistroyEntity uohe = new UserOperationHistroyEntity("customer_id1234",ipAddress,sessionId);
           uohe.setSession_status(2);
           uohe.setOperation_code(operation_code);
           uohe.setOperation_status("Completed ");
           uohe.setRegister_time(timestamp);
           uohe.setRegister_user("test");
           uohe.setSession_status(0);
           uohe.setUpdate_time(timestamp);
           uohe.setUpdate_user("user");
           em.persist(uohe);
           System.out.println("レコード挿入ができました");
       tx.commit();
       em.close();
   }
}
```
```java
package util.entity;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "user_operation_history")
public class UserOperationHistroyEntity implements Serializable {
   @Embedded
   UserOperationHistoryPKEntity pk;
   public UserOperationHistroyEntity(String customer_id, String ipAddress, String sessionId){
       pk.setCustomer_id(customer_id);
       pk.setIp_address(ipAddress);
       pk.setSession_id(sessionId);
   }
   @Column(name = "session_status")
   private int session_status;
   @Column(name = "operation_code")
   private String operation_code;
   @Column(name = "operation_status")
   private String operation_status;
   @Column(name = "register_user")
   private String register_user;
   @Column(name = "register_time")
   private Timestamp register_time;
   @Column(name = "update_user")
   private String update_user;
   @Column(name = "update_time")
   private Timestamp update_time;
   @Column(name = "last_login_time")
   private Timestamp last_login_time;
   public UserOperationHistroyEntity() {}
   public int getSession_status() {
       return session_status;
   }
   public void setSession_status(int session_status) {
       this.session_status = session_status;
   }
   public String getOperation_code() {
       return operation_code;
   }
   public void setOperation_code(String operation_code) {
       this.operation_code = operation_code;
   }
   public String getOperation_status() {
       return operation_status;
   }
   public void setOperation_status(String operation_status) {
       this.operation_status = operation_status;
   }
   public String getRegister_user() {
       return register_user;
   }
   public void setRegister_user(String register_user) {
       this.register_user = register_user;
   }
   public Timestamp getRegister_time() {
       return register_time;
   }
   public void setRegister_time(Timestamp register_time) {
       this.register_time = register_time;
   }
   public String getUpdate_user() {
       return update_user;
   }
   public void setUpdate_user(String update_user) {
       this.update_user = update_user;
   }
   public Timestamp getUpdate_time() {
       return update_time;
   }
   public void setUpdate_time(Timestamp update_time) {
       this.update_time = update_time;
   }
   public Timestamp getLast_login_time() {
       return last_login_time;
   }
   public void setLast_login_time(Timestamp last_login_time) {
       this.last_login_time = last_login_time;
   }
}
```
```java
package util.entity;
import javax.persistence.Column;
import javax.persistence.Embeddable;
@Embeddable
public class UserOperationHistoryPKEntity {
   @Column
   private String customer_id;
   @Column
   private String ip_address;
   @Column
   private String session_id;
   public String getCustomer_id() {
       return customer_id;
   }
   public void setCustomer_id(String customer_id) {
       this.customer_id = customer_id;
   }
   public String getIp_address() {
       return ip_address;
   }
   public void setIp_address(String ip_address) {
       this.ip_address = ip_address;
   }
   public String getSession_id() {
       return session_id;
   }
   public void setSession_id(String session_id) {
       this.session_id = session_id;
   }
}
```
```xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
 version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
 <!-- MySQL + TOMCAT-->
 <!--<persistence-unit name="restaurant" transaction-type="RESOURCE_LOCAL">-->
 <persistence-unit name="restaurant">
 <provider>org.hibernate.ejb.HibernatePersistence</provider>
   <exclude-unlisted-classes>false</exclude-unlisted-classes>
   <properties>
   <!-- DAOS -->
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
     <property name="javax.persistence.jdbc.url"   value="jdbc:mysql://localhost:3306/restaurant?useSSL=false" />
     <property name="javax.persistence.jdbc.user" value="administrator" />
     <property name="javax.persistence.jdbc.password" value="password" />
   <!-- Configuration-->
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
     <property name="hibernate.hbm2ddl.auto" value="update"/>
     <property name="hibernate.show_sql" value="true"/>
     <property name="hibernate.format_sql" value="true"/>
     <property name="hibernate.archive.autodetection" value="class"/>
   </properties>
 </persistence-unit>
 <!-- JUnit MYSQL -->
   <persistence-unit name="restaurant">
   <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
   <properties>
       <property name="hibernate.connection.driver_class" value="com.mysql.jdbcDriver"/>
       <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
       <property name="hibernate.connection.release_mode" value="after_transaction"/>
       <property name="hibernate.connection.username" value="administrator"/>
       <property name="hibernate.connection.password" value="password"/>
       <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/restaurant?useSSL=false"/>
   </properties>
   </persistence-unit>
</persistence>!
```
![エラー発生](a1fb6955f8ead8776a60257b944c5a08.png)
![エラー発生](a1fb6955f8ead8776a60257b944c5a08.png)
![MySQL](20163db95ec6c2bda43f001094402c1a.png)
  • Java

    17365 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • XML

    816 questions

    XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

3 画像を添付

Linkey

Linkey score 41

2017/04/02 13:24  投稿

hibernateでレコード挿入ができない
Eclipseを使ってJavaのWebアプリケーションを開発しています。
Hibernateを使ってDBのテーブルにレコードを挿入しようとしましたが
以下のエラーが出力されました。
情報: Server startup in 5294 ms [日 4 02 13:06:44 JST 2017]
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [日 4 02 13:06:49 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [日 4 02 13:06:49 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [日 4 02 13:06:49 JST 2017]
INFO: HHH000204: Processing PersistenceUnitInfo [
   name: restaurant
   ...] [日 4 02 13:06:50 JST 2017]
INFO: HHH000412: Hibernate Core {4.3.0.Final} [日 4 02 13:06:50 JST 2017]
INFO: HHH000206: hibernate.properties not found [日 4 02 13:06:50 JST 2017]
INFO: HHH000021: Bytecode provider name : javassist [日 4 02 13:06:50 JST 2017]
INFO: HCANN000001: Hibernate Commons Annotations {4.0.4.Final} [日 4 02 13:06:50 JST 2017]
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!) [日 4 02 13:06:50 JST 2017]
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/restaurant?useSSL=false] [日 4 02 13:06:50 JST 2017]
INFO: HHH000046: Connection properties: {user=administrator, password=****} [日 4 02 13:06:50 JST 2017]
INFO: HHH000006: Autocommit mode: false [日 4 02 13:06:50 JST 2017]
INFO: HHH000115: Hibernate connection pool size: 20 (min=1) [日 4 02 13:06:50 JST 2017]
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect [日 4 02 13:06:51 JST 2017]
重大: サーブレット ResistrationServlet のServlet.service()が例外を投げました [日 4 02 13:06:51 JST 2017]
persistence.xmlの設定が間違っているのでしょうか?それともEntityクラスの設定が間違っているのでしょうか?ソースコードを見ていただきどこが正しくないのかご回答いただきたいです。なるべき発生した内容を詳細化するために作成したソースコードやエラーメッセージを記載しているため大変見づらくなっております。hibernateのプログラムに詳しい方や別の実装方法を思いついた方等いらっしゃいましたらご回答いただけますでしょうか?よろしくお願いいたします。
```java
package util.util;
import java.sql.Timestamp;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import util.entity.UserOperationHistroyEntity;
public class OperationUserProcessing {
   private EntityManager em;
   public void operation(String operation_code, String ipAddress, String sessionId) {
       em = Persistence.createEntityManagerFactory("restaurant").createEntityManager();
       EntityTransaction tx = em.getTransaction();
       Timestamp timestamp = new Timestamp(System.currentTimeMillis());
           tx.begin();
           UserOperationHistroyEntity uohe = new UserOperationHistroyEntity("customer_id1234",ipAddress,sessionId);
           uohe.setSession_status(2);
           uohe.setOperation_code(operation_code);
           uohe.setOperation_status("Completed ");
           uohe.setRegister_time(timestamp);
           uohe.setRegister_user("test");
           uohe.setSession_status(0);
           uohe.setUpdate_time(timestamp);
           uohe.setUpdate_user("user");
           em.persist(uohe);
           System.out.println("レコード挿入ができました");
       tx.commit();
       em.close();
   }
}
```
```java
package util.entity;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "user_operation_history")
public class UserOperationHistroyEntity implements Serializable {
   @Embedded
   UserOperationHistoryPKEntity pk;
   public UserOperationHistroyEntity(String customer_id, String ipAddress, String sessionId){
       pk.setCustomer_id(customer_id);
       pk.setIp_address(ipAddress);
       pk.setSession_id(sessionId);
   }
   @Column(name = "session_status")
   private int session_status;
   @Column(name = "operation_code")
   private String operation_code;
   @Column(name = "operation_status")
   private String operation_status;
   @Column(name = "register_user")
   private String register_user;
   @Column(name = "register_time")
   private Timestamp register_time;
   @Column(name = "update_user")
   private String update_user;
   @Column(name = "update_time")
   private Timestamp update_time;
   @Column(name = "last_login_time")
   private Timestamp last_login_time;
   public UserOperationHistroyEntity() {}
   public int getSession_status() {
       return session_status;
   }
   public void setSession_status(int session_status) {
       this.session_status = session_status;
   }
   public String getOperation_code() {
       return operation_code;
   }
   public void setOperation_code(String operation_code) {
       this.operation_code = operation_code;
   }
   public String getOperation_status() {
       return operation_status;
   }
   public void setOperation_status(String operation_status) {
       this.operation_status = operation_status;
   }
   public String getRegister_user() {
       return register_user;
   }
   public void setRegister_user(String register_user) {
       this.register_user = register_user;
   }
   public Timestamp getRegister_time() {
       return register_time;
   }
   public void setRegister_time(Timestamp register_time) {
       this.register_time = register_time;
   }
   public String getUpdate_user() {
       return update_user;
   }
   public void setUpdate_user(String update_user) {
       this.update_user = update_user;
   }
   public Timestamp getUpdate_time() {
       return update_time;
   }
   public void setUpdate_time(Timestamp update_time) {
       this.update_time = update_time;
   }
   public Timestamp getLast_login_time() {
       return last_login_time;
   }
   public void setLast_login_time(Timestamp last_login_time) {
       this.last_login_time = last_login_time;
   }
}
```
```java
package util.entity;
import javax.persistence.Column;
import javax.persistence.Embeddable;
@Embeddable
public class UserOperationHistoryPKEntity {
   @Column
   private String customer_id;
   @Column
   private String ip_address;
   @Column
   private String session_id;
   public String getCustomer_id() {
       return customer_id;
   }
   public void setCustomer_id(String customer_id) {
       this.customer_id = customer_id;
   }
   public String getIp_address() {
       return ip_address;
   }
   public void setIp_address(String ip_address) {
       this.ip_address = ip_address;
   }
   public String getSession_id() {
       return session_id;
   }
   public void setSession_id(String session_id) {
       this.session_id = session_id;
   }
}
```
```xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
 version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
 <!-- MySQL + TOMCAT-->
 <!--<persistence-unit name="restaurant" transaction-type="RESOURCE_LOCAL">-->
 <persistence-unit name="restaurant">
 <provider>org.hibernate.ejb.HibernatePersistence</provider>
   <exclude-unlisted-classes>false</exclude-unlisted-classes>
   <properties>
   <!-- DAOS -->
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
     <property name="javax.persistence.jdbc.url"   value="jdbc:mysql://localhost:3306/restaurant?useSSL=false" />
     <property name="javax.persistence.jdbc.user" value="administrator" />
     <property name="javax.persistence.jdbc.password" value="password" />
   <!-- Configuration-->
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
     <property name="hibernate.hbm2ddl.auto" value="update"/>
     <property name="hibernate.show_sql" value="true"/>
     <property name="hibernate.format_sql" value="true"/>
     <property name="hibernate.archive.autodetection" value="class"/>
   </properties>
 </persistence-unit>
 <!-- JUnit MYSQL -->
   <persistence-unit name="restaurant">
   <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
   <properties>
       <property name="hibernate.connection.driver_class" value="com.mysql.jdbcDriver"/>
       <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
       <property name="hibernate.connection.release_mode" value="after_transaction"/>
       <property name="hibernate.connection.username" value="administrator"/>
       <property name="hibernate.connection.password" value="password"/>
       <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/restaurant?useSSL=false"/>
   </properties>
   </persistence-unit>
</persistence>!
```
```
![エラー発生](a1fb6955f8ead8776a60257b944c5a08.png)
  • Java

    17365 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • XML

    816 questions

    XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

2 説明を編集

Linkey

Linkey score 41

2017/04/02 13:22  投稿

hibernateでレコード挿入ができない
Eclipseを使ってJavaのWebアプリケーションを開発しています。
Hibernateを使ってDBのテーブルにレコードを挿入しようとしましたが
以下のエラーが出力されました。
情報: Server startup in 1333 ms [土 4 01 21:25:15 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [土 4 01 21:25:22 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [土 4 01 21:25:22 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [土 4 01 21:25:22 JST 2017]
情報: Server startup in 5294 ms [日 4 02 13:06:44 JST 2017]
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [日 4 02 13:06:49 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [日 4 02 13:06:49 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [日 4 02 13:06:49 JST 2017]
INFO: HHH000204: Processing PersistenceUnitInfo [
   name: restaurant
   ...] [土 4 01 21:25:22 JST 2017]
INFO: HHH000412: Hibernate Core {4.3.0.Final} [土 4 01 21:25:22 JST 2017]
INFO: HHH000206: hibernate.properties not found [土 4 01 21:25:22 JST 2017]
INFO: HHH000021: Bytecode provider name : javassist [土 4 01 21:25:22 JST 2017]
INFO: HCANN000001: Hibernate Commons Annotations {4.0.4.Final} [土 4 01 21:25:23 JST 2017]
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!) [土 4 01 21:25:23 JST 2017]
   ...] [日 4 02 13:06:50 JST 2017]
INFO: HHH000412: Hibernate Core {4.3.0.Final} [日 4 02 13:06:50 JST 2017]
INFO: HHH000206: hibernate.properties not found [日 4 02 13:06:50 JST 2017]
INFO: HHH000021: Bytecode provider name : javassist [日 4 02 13:06:50 JST 2017]
INFO: HCANN000001: Hibernate Commons Annotations {4.0.4.Final} [日 4 02 13:06:50 JST 2017]
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!) [日 4 02 13:06:50 JST 2017]
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/restaurant?useSSL=false] [土 4 01 21:25:23 JST 2017]
INFO: HHH000046: Connection properties: {user=administrator, password=****} [土 4 01 21:25:23 JST 2017]
INFO: HHH000006: Autocommit mode: false [土 4 01 21:25:23 JST 2017]
INFO: HHH000115: Hibernate connection pool size: 20 (min=1) [土 4 01 21:25:23 JST 2017]
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect [土 4 01 21:25:23 JST 2017]
重大: サーブレット ResistrationServlet のServlet.service()が例外を投げました [土 4 01 21:25:23 JST 2017]
persistence.xmlの設定が間違っているのでしょうか?それともEntityクラスの設定が間違っているのでしょうか?ソースコードを見ていただきどこが正しくないのかご回答いただきたいです。
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/restaurant?useSSL=false] [日 4 02 13:06:50 JST 2017]
INFO: HHH000046: Connection properties: {user=administrator, password=****} [日 4 02 13:06:50 JST 2017]
INFO: HHH000006: Autocommit mode: false [日 4 02 13:06:50 JST 2017]
INFO: HHH000115: Hibernate connection pool size: 20 (min=1) [日 4 02 13:06:50 JST 2017]
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect [日 4 02 13:06:51 JST 2017]
重大: サーブレット ResistrationServlet のServlet.service()が例外を投げました [日 4 02 13:06:51 JST 2017]
persistence.xmlの設定が間違っているのでしょうか?それともEntityクラスの設定が間違っているのでしょうか?ソースコードを見ていただきどこが正しくないのかご回答いただきたいです。なるべき発生した内容を詳細化するために作成したソースコードやエラーメッセージを記載しているため大変見づらくなっております。hibernateのプログラムに詳しい方や別の実装方法を思いついた方等いらっしゃいましたらご回答いただけますでしょうか?よろしくお願いいたします。
```java
package util.util;
import java.sql.Timestamp;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import util.entity.UserOperationHistroyEntity;
public class OperationUserProcessing {
   private EntityManager em;
   public void operation(String operation_code, String ipAddress, String sessionId) {
       em = Persistence.createEntityManagerFactory("restaurant").createEntityManager();
       EntityTransaction tx = em.getTransaction();
       Timestamp timestamp = new Timestamp(System.currentTimeMillis());
           tx.begin();
           UserOperationHistroyEntity uohe = new UserOperationHistroyEntity("customer_id1234",ipAddress,sessionId);
           uohe.setSession_status(2);
           uohe.setOperation_code(operation_code);
           uohe.setOperation_status("Completed ");
           uohe.setRegister_time(timestamp);
           uohe.setRegister_user("test");
           uohe.setSession_status(0);
           uohe.setUpdate_time(timestamp);
           uohe.setUpdate_user("user");
           em.persist(uohe);
           System.out.println("レコード挿入ができました");
       tx.commit();
       em.close();
   }
}
```
```java
package util.entity;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "user_operation_history")
public class UserOperationHistroyEntity implements Serializable {
   @Embedded
   UserOperationHistoryPKEntity pk;
   public UserOperationHistroyEntity(String customer_id, String ipAddress, String sessionId){
       pk.setCustomer_id(customer_id);
       pk.setIp_address(ipAddress);
       pk.setSession_id(sessionId);
   }
   @Column(name = "session_status")
   private int session_status;
   @Column(name = "operation_code")
   private String operation_code;
   @Column(name = "operation_status")
   private String operation_status;
   @Column(name = "register_user")
   private String register_user;
   @Column(name = "register_time")
   private Timestamp register_time;
   @Column(name = "update_user")
   private String update_user;
   @Column(name = "update_time")
   private Timestamp update_time;
   @Column(name = "last_login_time")
   private Timestamp last_login_time;
   public UserOperationHistroyEntity() {}
   public int getSession_status() {
       return session_status;
   }
   public void setSession_status(int session_status) {
       this.session_status = session_status;
   }
   public String getOperation_code() {
       return operation_code;
   }
   public void setOperation_code(String operation_code) {
       this.operation_code = operation_code;
   }
   public String getOperation_status() {
       return operation_status;
   }
   public void setOperation_status(String operation_status) {
       this.operation_status = operation_status;
   }
   public String getRegister_user() {
       return register_user;
   }
   public void setRegister_user(String register_user) {
       this.register_user = register_user;
   }
   public Timestamp getRegister_time() {
       return register_time;
   }
   public void setRegister_time(Timestamp register_time) {
       this.register_time = register_time;
   }
   public String getUpdate_user() {
       return update_user;
   }
   public void setUpdate_user(String update_user) {
       this.update_user = update_user;
   }
   public Timestamp getUpdate_time() {
       return update_time;
   }
   public void setUpdate_time(Timestamp update_time) {
       this.update_time = update_time;
   }
   public Timestamp getLast_login_time() {
       return last_login_time;
   }
   public void setLast_login_time(Timestamp last_login_time) {
       this.last_login_time = last_login_time;
   }
}
```
```java
package util.entity;
import javax.persistence.Column;
import javax.persistence.Embeddable;
@Embeddable
public class UserOperationHistoryPKEntity {
   @Column
   private String customer_id;
   @Column
   private String ip_address;
   @Column
   private String session_id;
   public String getCustomer_id() {
       return customer_id;
   }
   public void setCustomer_id(String customer_id) {
       this.customer_id = customer_id;
   }
   public String getIp_address() {
       return ip_address;
   }
   public void setIp_address(String ip_address) {
       this.ip_address = ip_address;
   }
   public String getSession_id() {
       return session_id;
   }
   public void setSession_id(String session_id) {
       this.session_id = session_id;
   }
}
```
```xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
 version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
 <persistence-unit name="restaurant" transaction-type="RESOURCE_LOCAL">
 <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
 <!-- MySQL + TOMCAT-->
 <!--<persistence-unit name="restaurant" transaction-type="RESOURCE_LOCAL">-->
 <persistence-unit name="restaurant">
 <provider>org.hibernate.ejb.HibernatePersistence</provider>
   <exclude-unlisted-classes>false</exclude-unlisted-classes>
   <properties>
   <!-- DAOS -->  
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
     <property name="javax.persistence.jdbc.url"   value="jdbc:mysql://localhost:3306/restaurant?useSSL=false" />
     <property name="javax.persistence.jdbc.user" value="administrator" />
     <property name="javax.persistence.jdbc.password" value="password" />
   <!-- Configuration-->  
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>  
     <property name="hibernate.hbm2ddl.auto" value="update"/>  
     <property name="hibernate.show_sql" value="true"/>  
     <property name="hibernate.format_sql" value="true"/>  
     <property name="hibernate.archive.autodetection" value="class"/>  
   </properties>
 </persistence-unit>
</persistence>
```
作成したテーブル(MySQL)
mysql>
mysql> desc user_operation_history;
+------------------+-------------+------+-----+-------------------+-----------------------------+
| Field           | Type       | Null | Key | Default          | Extra                      |
+------------------+-------------+------+-----+-------------------+-----------------------------+
| customer_id     | varchar(13) | NO  | PRI | NULL             |                            |
| ip_address      | varchar(15) | NO  | PRI | NULL             |                            |
| session_id      | varchar(35) | NO  | PRI | NULL             |                            |
| session_status  | tinyint(4) | NO  |    | NULL             |                            |
| operation_code  | varchar(10) | YES |    | NULL             |                            |
| operation_status | varchar(10) | YES |    | NULL             |                            |
| register_user   | varchar(13) | NO  |    | NULL             |                            |
| register_time   | datetime   | NO  |    | CURRENT_TIMESTAMP |                            |
| update_user     | varchar(13) | NO  |    | NULL             |                            |
| update_time     | datetime   | NO  |    | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+------------------+-------------+------+-----+-------------------+-----------------------------+
10 rows in set (0.00 sec)
 <!-- JUnit MYSQL -->
   <persistence-unit name="restaurant">
   <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
   <properties>
       <property name="hibernate.connection.driver_class" value="com.mysql.jdbcDriver"/>
       <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
       <property name="hibernate.connection.release_mode" value="after_transaction"/>
       <property name="hibernate.connection.username" value="administrator"/>
       <property name="hibernate.connection.password" value="password"/>
       <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/restaurant?useSSL=false"/>
   </properties>
   </persistence-unit>
</persistence>!
```
  • Java

    17365 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • XML

    816 questions

    XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

1 エラー内容を追加

Linkey

Linkey score 41

2017/04/01 21:55  投稿

hibernateでレコード挿入ができない
Eclipseを使ってJavaのWebアプリケーションを開発しています。
Hibernateを使ってDBのテーブルにレコードを挿入しようとしましたが
以下のエラーが出力されました。
情報: Server startup in 1333 ms [土 4 01 21:25:15 JST 2017]  
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [土 4 01 21:25:22 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [土 4 01 21:25:22 JST 2017]
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead. [土 4 01 21:25:22 JST 2017]
INFO: HHH000204: Processing PersistenceUnitInfo [
   name: restaurant
   ...] [土 4 01 21:25:22 JST 2017]
INFO: HHH000412: Hibernate Core {4.3.0.Final} [土 4 01 21:25:22 JST 2017]  
INFO: HHH000206: hibernate.properties not found [土 4 01 21:25:22 JST 2017]  
INFO: HHH000021: Bytecode provider name : javassist [土 4 01 21:25:22 JST 2017]  
INFO: HCANN000001: Hibernate Commons Annotations {4.0.4.Final} [土 4 01 21:25:23 JST 2017]  
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!) [土 4 01 21:25:23 JST 2017]  
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.  
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/restaurant?useSSL=false] [土 4 01 21:25:23 JST 2017]  
INFO: HHH000046: Connection properties: {user=administrator, password=****} [土 4 01 21:25:23 JST 2017]  
INFO: HHH000006: Autocommit mode: false [土 4 01 21:25:23 JST 2017]  
INFO: HHH000115: Hibernate connection pool size: 20 (min=1) [土 4 01 21:25:23 JST 2017]  
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect [土 4 01 21:25:23 JST 2017]  
重大: サーブレット ResistrationServlet のServlet.service()が例外を投げました [土 4 01 21:25:23 JST 2017]  
 
persistence.xmlの設定が間違っているのでしょうか?それともEntityクラスの設定が間違っているのでしょうか?ソースコードを見ていただきどこが正しくないのかご回答いただきたいです。
```java
package util.util;
import java.sql.Timestamp;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import util.entity.UserOperationHistroyEntity;
public class OperationUserProcessing {
   private EntityManager em;
   public void operation(String operation_code, String ipAddress, String sessionId) {
       em = Persistence.createEntityManagerFactory("restaurant").createEntityManager();
       EntityTransaction tx = em.getTransaction();
       Timestamp timestamp = new Timestamp(System.currentTimeMillis());
           tx.begin();
           UserOperationHistroyEntity uohe = new UserOperationHistroyEntity("customer_id1234",ipAddress,sessionId);
           uohe.setSession_status(2);
           uohe.setOperation_code(operation_code);
           uohe.setOperation_status("Completed ");
           uohe.setRegister_time(timestamp);
           uohe.setRegister_user("test");
           uohe.setSession_status(0);
           uohe.setUpdate_time(timestamp);
           uohe.setUpdate_user("user");
           em.persist(uohe);
           System.out.println("レコード挿入ができました");
       tx.commit();
       em.close();
   }
}
```
```java
package util.entity;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "user_operation_history")
public class UserOperationHistroyEntity implements Serializable {
   @Embedded
   UserOperationHistoryPKEntity pk;
   public UserOperationHistroyEntity(String customer_id, String ipAddress, String sessionId){
       pk.setCustomer_id(customer_id);
       pk.setIp_address(ipAddress);
       pk.setSession_id(sessionId);
   }
   @Column(name = "session_status")
   private int session_status;
   @Column(name = "operation_code")
   private String operation_code;
   @Column(name = "operation_status")
   private String operation_status;
   @Column(name = "register_user")
   private String register_user;
   @Column(name = "register_time")
   private Timestamp register_time;
   @Column(name = "update_user")
   private String update_user;
   @Column(name = "update_time")
   private Timestamp update_time;
   @Column(name = "last_login_time")
   private Timestamp last_login_time;
   public UserOperationHistroyEntity() {}
   public int getSession_status() {
       return session_status;
   }
   public void setSession_status(int session_status) {
       this.session_status = session_status;
   }
   public String getOperation_code() {
       return operation_code;
   }
   public void setOperation_code(String operation_code) {
       this.operation_code = operation_code;
   }
   public String getOperation_status() {
       return operation_status;
   }
   public void setOperation_status(String operation_status) {
       this.operation_status = operation_status;
   }
   public String getRegister_user() {
       return register_user;
   }
   public void setRegister_user(String register_user) {
       this.register_user = register_user;
   }
   public Timestamp getRegister_time() {
       return register_time;
   }
   public void setRegister_time(Timestamp register_time) {
       this.register_time = register_time;
   }
   public String getUpdate_user() {
       return update_user;
   }
   public void setUpdate_user(String update_user) {
       this.update_user = update_user;
   }
   public Timestamp getUpdate_time() {
       return update_time;
   }
   public void setUpdate_time(Timestamp update_time) {
       this.update_time = update_time;
   }
   public Timestamp getLast_login_time() {
       return last_login_time;
   }
   public void setLast_login_time(Timestamp last_login_time) {
       this.last_login_time = last_login_time;
   }
}
```
```java
package util.entity;
import javax.persistence.Column;
import javax.persistence.Embeddable;
@Embeddable
public class UserOperationHistoryPKEntity {
   @Column
   private String customer_id;
   @Column
   private String ip_address;
   @Column
   private String session_id;
   public String getCustomer_id() {
       return customer_id;
   }
   public void setCustomer_id(String customer_id) {
       this.customer_id = customer_id;
   }
   public String getIp_address() {
       return ip_address;
   }
   public void setIp_address(String ip_address) {
       this.ip_address = ip_address;
   }
   public String getSession_id() {
       return session_id;
   }
   public void setSession_id(String session_id) {
       this.session_id = session_id;
   }
}
```
```xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
 version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
 <persistence-unit name="restaurant" transaction-type="RESOURCE_LOCAL">
 <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
   <exclude-unlisted-classes>false</exclude-unlisted-classes>
   <properties>
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
     <property name="javax.persistence.jdbc.url"   value="jdbc:mysql://localhost:3306/restaurant?useSSL=false" />
     <property name="javax.persistence.jdbc.user" value="administrator" />
     <property name="javax.persistence.jdbc.password" value="password" />
   </properties>
 </persistence-unit>
</persistence>
```
作成したテーブル(MySQL)
mysql>
mysql> desc user_operation_history;
+------------------+-------------+------+-----+-------------------+-----------------------------+
| Field           | Type       | Null | Key | Default          | Extra                      |
+------------------+-------------+------+-----+-------------------+-----------------------------+
| customer_id     | varchar(13) | NO  | PRI | NULL             |                            |
| ip_address      | varchar(15) | NO  | PRI | NULL             |                            |
| session_id      | varchar(35) | NO  | PRI | NULL             |                            |
| session_status  | tinyint(4) | NO  |    | NULL             |                            |
| operation_code  | varchar(10) | YES |    | NULL             |                            |
| operation_status | varchar(10) | YES |    | NULL             |                            |
| register_user   | varchar(13) | NO  |    | NULL             |                            |
| register_time   | datetime   | NO  |    | CURRENT_TIMESTAMP |                            |
| update_user     | varchar(13) | NO  |    | NULL             |                            |
| update_time     | datetime   | NO  |    | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+------------------+-------------+------+-----+-------------------+-----------------------------+
10 rows in set (0.00 sec)
  • Java

    17365 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • XML

    816 questions

    XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る